圖片設(shè)置圓角

關(guān)于給圖片設(shè)置圓角,普遍使用layer進(jìn)行處理,簡單方便;
但過多的渲染layer會導(dǎo)致降低app性能,拖慢了fps(特別是在cell中容易發(fā)覺)。

建議通過渲染畫布的方式實現(xiàn):

分類:
@implementation UIImage (RoundedCorner)

 - (UIImage *)imageWithRoundedCornersAndSize:(CGSize)sizeToFit a ndCornerRadius:(CGFloat)radius {
     CGRect rect = (CGRect){0.f, 0.f, sizeToFit};
     UIGraphicsBeginImageContextWithOptions(sizeToFit, NO, UIScr een.mainScreen.scale);
     CGContextAddPath(UIGraphicsGetCurrentContext(),      
     [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:radius].CGPath);     
     CGContextClip(UIGraphicsGetCurrentContext());
     [self drawInRect:rect];
     UIImage *output = UIGraphicsGetImageFromCurrentImageContext ();
     return output
}

- (void)drawRect:(CGRect)rect {
    CGRect bounds = self.bounds;      
   [[UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:8.0] addClip];[self.image drawInRect:bounds];
}
 
@end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 對圖片進(jìn)行圓角處理會相比于直角,它更加柔和優(yōu)美,是一種很常見的視圖效果,在APP中常用于對用戶頭像的美化,但是設(shè)置...
    打瞌睡de小男孩閱讀 6,156評論 4 22
  • 一般我們在iOS開發(fā)的過程中設(shè)置圓角都是如下這樣設(shè)置的。 所有如果要高性能的設(shè)置圓角就需要找另外的方法了。下面是我...
    齊滇大圣閱讀 15,130評論 29 98
  • 一般我們在iOS開發(fā)的過程中設(shè)置圓角都是如下這樣設(shè)置的。 這樣設(shè)置會觸發(fā)離屏渲染,比較消耗性能。比如當(dāng)一個頁面上有...
    zgsddzwj閱讀 656評論 0 1
  • iOS給圖片設(shè)置圓角 通過設(shè)置layer的屬性(最常用的方法) 最快速,但是影響性能,代碼如下 通過CAShape...
    YanniLiu閱讀 405評論 0 1
  • 中午陪寶寶從兒童醫(yī)院出來的時候覺得天特別藍(lán),陽光明媚。一輛灑水車路過,水花在陽光的照射下顯得格外活潑。李商隱...
    珊珊來馳閱讀 194評論 0 0

友情鏈接更多精彩內(nèi)容