标签:
最直接的方法就是使用如下属性设置:
1
2
3
|
imgView.layer.cornerRadius = 10; // 这一行代码是很消耗性能的 imgView.clipsToBounds = YES; |
**这是离屏渲染(off-screen-rendering),消耗性能的**
给UIImage添加生成圆角图片的扩展API:这是on-screen-rendering
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
- (UIImage *)imageWithCornerRadius:(CGFloat)radius { CGRect rect = (CGRect){0.f, 0.f, self.size}; UIGraphicsBeginImageContextWithOptions(self.size, NO, UIScreen.mainScreen.scale); CGContextAddPath(UIGraphicsGetCurrentContext(), [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:radius].CGPath); CGContextClip(UIGraphicsGetCurrentContext()); [self drawInRect:rect]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; } |
标签:
原文地址:http://www.cnblogs.com/itlover2013/p/5313922.html