圖片設置圓角

直接設置,離屏渲染

_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,042評論 4 22
  • 一般我們在iOS開發的過程中設置圓角都是如下這樣設置的。 所有如果要高性能的設置圓角就需要找另外的方法了。下面是我...
    齊滇大圣閱讀 15,061評論 29 98
  • 一般我們在iOS開發的過程中設置圓角都是如下這樣設置的。 這樣設置會觸發離屏渲染,比較消耗性能。比如當一個頁面上有...
    zgsddzwj閱讀 624評論 0 1
  • 1、不好的解決方案:使用下面的方式會強制Core Animation提前渲染屏幕的離屏繪制, 而離屏繪制就會給性能...
    橡樹花香閱讀 441評論 0 0
  • iOS給圖片設置圓角 通過設置layer的屬性(最常用的方法) 最快速,但是影響性能,代碼如下 通過CAShape...
    YanniLiu閱讀 379評論 0 1