我正在将此代码用于掩码 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 但我现在在我的 iPhone 4 上尝试使用 IOS 4.3 并注意到一些图像掩盖但有黑色背景,如您在这张图片中看到的:
这是掩码图像:
正如您所注意到的,第一张图像是蒙版,但侧面有黑色,其他图像完美蒙版。我注意到它每次都发生在相同的图像上。知道可能是什么问题吗?
=====================================
编辑
我尝试将图像保存到我的文档中,然后查看它们看起来就像maskedImage
我保存的没有黑色边框,知道为什么它显示这个黑色边框吗?