美文网首页
[九九Tips] -正方形图片用Quartz2D处理成圆形

[九九Tips] -正方形图片用Quartz2D处理成圆形

作者: 九九丸子 | 来源:发表于2016-08-03 17:22 被阅读29次

    [九九Tips]- http://www.jianshu.com/users/bab86b3e8aa3/latest_articles

    正方形图片用Quartz2D处理成圆形

    方法

    新建一个图形上拿下文

    在图形上下文里面添加一个圆

    按照圆进行裁剪

    将想要显示的图片放入圆形中,多余部分就被剪掉了.

    步骤示意图

    圆形头像的制作.png

    代码

    包装成UIImage分类,返回圆形图片代码

    - (instancetype)circleImage
    {
        // 开启图形上下文
        UIGraphicsBeginImageContext(self.size);
        
        // 上下文
        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();
        
        // 关闭图形上下文
        UIGraphicsEndImageContext();
        
        return image;
    }
    
    

    注意:不建议使用图层(layer.cornerRadius)画圆.图片多的时候特别消耗内存.

    相关文章

      网友评论

          本文标题:[九九Tips] -正方形图片用Quartz2D处理成圆形

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