美文网首页
iOS的图片圆角处理方式对比

iOS的图片圆角处理方式对比

作者: lyonLiu | 来源:发表于2016-08-20 10:22 被阅读115次

    第一种方法: 对layer做手脚

    性能:对图层的圆角做太多操作和渲染会很卡,特别是圆角跟阴影的时候

    //  半径为控件尺寸一半
    self.imageView.layer.cornerRadius = self.imageView.frame.size.width * 0.5;
    self.imageView.layer.masksToBounds = YES;
    

    第二种方法:(建议使用)

    性能:效率高,性能佳

    #import "UIImage+extension.h"
    
    @implementation UIImage (extension)
    
    //  圆形图片
    - (UIImage *)circleImage
    {
        //  NO 代表透明
        //  开启图形上下文
        UIGraphicsBeginImageContextWithOptions(self.size, NO, 0);
        
        //  获得上下文
        CGContextRef ctx = UIGraphicsGetCurrentContext();
        
        //  添加一个圆
        CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);
        CGContextAddEllipseInRect(ctx, rect);
        
        //  裁剪
        CGContextClip(ctx);
        
        //  将图片画上去
        [self drawInRect:rect];
        
        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
        
        return image;
    }
    
    @end
    

    相关文章

      网友评论

          本文标题:iOS的图片圆角处理方式对比

          本文链接:https://www.haomeiwen.com/subject/aqawlttx.html