美文网首页
图片操作-UIGraphicsBeginImageContext

图片操作-UIGraphicsBeginImageContext

作者: 加盐白咖啡 | 来源:发表于2019-07-25 00:12 被阅读0次

    温馨提示

    图片上下文的绘制不需要在drawRect:方法中进行,可以直接在OC方法中就可以绘制。

    获取图片上下文

    使用两个方法同样都可以创建,但是使用第一个方法将来创建的图片清晰度和质量没有第二种方法的好。

    // 参数: 指定将来创建出来的bitmap的大小
    UIGraphicsBeginImageContext(CGSize size);
    
    /*
     * 参数一: 指定将来创建出来的bitmap的大小
     * 参数二: 设置透明YES代表不透明,NO代表透明
     * 参数三: 代表缩放,0代表不缩放
     */
    UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale);
    

    圆形剪裁-当参数二:opaque = NO 时效果如下

    image.png

    圆形剪裁-当参数二:opaque = YES 时效果如下

    image.png

    实际用法

    图片裁剪

    • 裁剪圆形图片-Demo
     /**
     剪裁圆形图片
     @param image 图片对象
     @param rect  剪裁区域
     @return      剪裁完成的图片
     */
    - (UIImage *)clipCircleImageWithImage:(UIImage *)image clipRect:(CGRect)rect {
        // 1.开启图片上下文 CGSize size 尺寸, BOOL opaque 透明度, CGFloat scale 比例
        UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
        // 2.设置剪裁区域
        UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:rect];
        // 把圆形路径设为剪裁区域
        [path addClip];
        // 3.绘制图片上下文
        [image drawAtPoint:CGPointZero];
        // 4.获取新图片
        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
        // 5.关闭图片上下文
        UIGraphicsEndImageContext();
        
        return newImage;
    }
    

    相关文章

      网友评论

          本文标题:图片操作-UIGraphicsBeginImageContext

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