我正在使用此代码进行掩码UIImage:
- (UIImage*)maskImage:(UIImage *)image withMask:(UIImage *)maskImage2 {
CGImageRef maskRef = maskImage2.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
CGImageRelease(mask);
UIImage *maskedImage = [UIImage imageWithCGImage:masked];
CGImageRelease(masked);
return maskedImage;
}
在IOS 6中它工作得很完美并且掩盖了所有的UIImage,但我现在在IOS 4.3的iPhone 4上尝试它,并注意到一些图像掩盖但是有一个黑色背景,你可以在这张图片中看到:
这是面具图片:
正如您所注意到的那样,第一张图像是蒙版,但侧面有黑色,其他图像完全遮盖。我注意到每次都会出现相同的图像。 知道可能是什么问题吗?
====================================
修改
我尝试将图像保存到我的文档中,看了之后看起来就像maskedImage
我保存了没有黑色边框,知道为什么它会显示我这个黑色边框?