mirror of
https://github.com/danog/Telegram.git
synced 2024-11-26 20:14:43 +01:00
46 lines
2.0 KiB
Objective-C
46 lines
2.0 KiB
Objective-C
#import "TGRoundImage.h"
|
|
|
|
UIImage *TGRoundImage(UIImage *sourceImage, CGSize size)
|
|
{
|
|
UIGraphicsBeginImageContextWithOptions(size, false, 0.0f);
|
|
CGContextRef context = UIGraphicsGetCurrentContext();
|
|
|
|
[sourceImage drawInRect:CGRectMake(0.0f, 0.0f, size.width, size.height) blendMode:kCGBlendModeCopy alpha:1.0f];
|
|
|
|
CGContextSetBlendMode(context, kCGBlendModeCopy);
|
|
CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
|
|
|
|
CGContextBeginPath(context);
|
|
CGContextMoveToPoint(context, 0.0f, size.height / 2.0f);
|
|
CGContextAddArcToPoint(context, 0.0f, 0.0f, size.width / 2.0f, 0.0f, size.width / 2.0f);
|
|
CGContextAddLineToPoint(context, 0.0f, 0.0f);
|
|
CGContextAddLineToPoint(context, 0.0f, size.height / 2.0f);
|
|
CGContextFillPath(context);
|
|
|
|
CGContextBeginPath(context);
|
|
CGContextMoveToPoint(context, size.width / 2.0f, 0.0f);
|
|
CGContextAddArcToPoint(context, size.width, 0.0f, size.width, size.height / 2.0f, size.width / 2.0f);
|
|
CGContextAddLineToPoint(context, size.width, 0.0f);
|
|
CGContextAddLineToPoint(context, size.width / 2.0f, 0.0f);
|
|
CGContextFillPath(context);
|
|
|
|
CGContextBeginPath(context);
|
|
CGContextMoveToPoint(context, size.width, size.height / 2.0f);
|
|
CGContextAddArcToPoint(context, size.width, size.height, size.width / 2.0f, size.height, size.width / 2.0f);
|
|
CGContextAddLineToPoint(context, size.width, size.height);
|
|
CGContextAddLineToPoint(context, size.width, size.height / 2.0f);
|
|
CGContextFillPath(context);
|
|
|
|
CGContextBeginPath(context);
|
|
CGContextMoveToPoint(context, size.width / 2.0f, size.height);
|
|
CGContextAddArcToPoint(context, 0.0f, size.height, 0.0f, size.height / 2.0f, size.width / 2.0f);
|
|
CGContextAddLineToPoint(context, 0.0f, size.height);
|
|
CGContextAddLineToPoint(context, size.width / 2.0f, size.height);
|
|
CGContextFillPath(context);
|
|
|
|
UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
|
|
UIGraphicsEndImageContext();
|
|
|
|
return result;
|
|
}
|