图片设置圆角

直接设置,离屏渲染

_tagImage.layer.cornerRadius = 2;
_tagImage.layer.masksToBounds = YES;
//imageView.layer.shouldRasterize = YES;  //光栅化

使用贝塞尔曲线UIBezierPath

UIImage *image = [UIImage imageNamed:@"tag"];
UIGraphicsBeginImageContextWithOptions(_tagImage.bounds.size, NO, [UIScreen mainScreen].scale);
[[UIBezierPath bezierPathWithRoundedRect:_tagImage.bounds cornerRadius:2] addClip];
[image drawInRect:_tagImage.bounds];
_tagImage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

使用CAShapeLayer和UIBezierPath

UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:_tagImage.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(2, 2)];
 CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init];
maskLayer.frame = _tagImage.bounds;
maskLayer.path = maskPath.CGPath;
_tagImage.layer.mask = maskLayer;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对图片进行圆角处理会相比于直角,它更加柔和优美,是一种很常见的视图效果,在APP中常用于对用户头像的美化,但是设置...
    打瞌睡de小男孩阅读 6,074评论 4 22
  • 一般我们在iOS开发的过程中设置圆角都是如下这样设置的。 所有如果要高性能的设置圆角就需要找另外的方法了。下面是我...
    齐滇大圣阅读 15,061评论 29 98
  • 一般我们在iOS开发的过程中设置圆角都是如下这样设置的。 这样设置会触发离屏渲染,比较消耗性能。比如当一个页面上有...
    zgsddzwj阅读 624评论 0 1
  • 1、不好的解决方案:使用下面的方式会强制Core Animation提前渲染屏幕的离屏绘制, 而离屏绘制就会给性能...
    橡树花香阅读 450评论 0 0
  • iOS给图片设置圆角 通过设置layer的属性(最常用的方法) 最快速,但是影响性能,代码如下 通过CAShape...
    YanniLiu阅读 384评论 0 1