Tag: cgimagemaskcreate

如何删除遮罩后的UIImageView的透明区域?

在我的一个iOS应用程序中,我试图使用CGImageMask剪切图像的CGImageMask 。 我用下面的代码成功地掩盖了图像: – (UIImage *)maskImage:(UIImage *)referenceImage withMask:(UIImage *)maskImage { CGImageRef maskRef = maskImage.CGImage; CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef), CGImageGetHeight(maskRef), CGImageGetBitsPerComponent(maskRef), CGImageGetBitsPerPixel(maskRef), CGImageGetBytesPerRow(maskRef), CGImageGetDataProvider(maskRef), NULL, false); CGImageRef masked = CGImageCreateWithMask([referenceImage CGImage], mask); return [UIImage imageWithCGImage:masked]; } 所以,我的形象将是: myImageView.image = [self maskImage:[UIImage imageNamed:@"image.png"] withMask:[UIImage imageNamed:@"mask.png"]]; 问题:输出图像与参考图像('image.png')大小相同,周围有透明区域。 但是我想避开那些透明区域,裁剪结果图像。 我怎样才能做到这一点? 有几个面具,面具框架是不相似的。 我在此附上问题概览的参考图片。 请帮助我的朋友。 提前致谢。