zoukankan      html  css  js  c++  java
  • ios CGImageRelease 出现 EXC_BAD_ACCESS的错误 ios特定形状剪裁图片 内存泄露

       CGImageRef imgRef = [image CGImage]; 通过此种方式的得到的CGImageRef不能利用CGImageRelease释放,因为你不拥有它所以不用释放

    在ios中特定形状剪裁图片的实现(注意要释放内存,不然即使用ARC也会出现内存泄露)

    - (UIImage*) maskImage:(UIImage *)image withMask:(UIImage *)mask
    {
        CGImageRef imgRef = [image CGImage];
        CGImageRef maskRef = [mask CGImage];
        CGImageRef actualMask = CGImageMaskCreate(CGImageGetWidth(maskRef),
                                                  CGImageGetHeight(maskRef),
                                                  CGImageGetBitsPerComponent(maskRef),
                                                  CGImageGetBitsPerPixel(maskRef),
                                                  CGImageGetBytesPerRow(maskRef),
                                                  CGImageGetDataProvider(maskRef), NULL, NO);
        CGImageRef masked = CGImageCreateWithMask(imgRef, actualMask);
        UIImage *newImage = [UIImage imageWithCGImage:masked];
        CGImageRelease(actualMask);
        CGImageRelease(masked);
        return newImage;
    }
  • 相关阅读:
    检测mysq组复制的脚本
    centos7安装NFS
    mysql组复制安装
    springboot+VUE(一)
    redis集群配置
    codevs 3139 栈练习3
    codevs 3138 栈练习2
    codevs 2622 数字序列
    codevs 1054 电梯
    codevs 1507 酒厂选址
  • 原文地址:https://www.cnblogs.com/xiongqiangcs/p/3407069.html
Copyright © 2011-2022 走看看