1

我正在将此代码用于掩码 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我保存的没有黑色边框,知道为什么它显示这个黑色边框吗?

4

0 回答 0