如何高性能的给UIImageView加个圆角?(不准说layer.cornerRadius!)

豆电雨 搬砖自味精:http://awhisper.github.io/2016/03/12/滚动圆角卡顿刨根问底/

 使用Quartz2D直接绘制图片

步骤: 
  a、创建目标大小(cropWidth,cropHeight)的画布。

  b、使用UIImage的drawInRect方法进行绘制的时候,指定rect为(-x,-y,width,height)。

  c、从画布中得到裁剪后的图像。

 

- (UIImage*)cropImageWithRect:(CGRect)cropRect
{
  //豆电雨 CGRect drawRect
= CGRectMake(-cropRect.origin.x , -cropRect.origin.y, self.size.width * self.scale, self.size.height * self.scale); UIGraphicsBeginImageContext(cropRect.size); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextClearRect(context, CGRectMake(0, 0, cropRect.size.width, cropRect.size.height)); [self drawInRect:drawRect]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; } @end

 

posted @ 2016-03-17 21:18  starainDou  阅读(2582)  评论(0编辑  收藏  举报