Duplicate

所以不要否认我的声誉。

我的 mask 图片是:

我的输出是:

- (UIImage*)maskImage:(UIImage *)image 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(image.CGImage, mask);
    CGImageRelease(mask);
    return [UIImage imageWithCGImage:masked];
}

那么如何创建自己的蒙版图像呢?

谢谢...

最佳答案

尝试将图像转换为不含Alpha的灰度图像。

  • 将其另存为.jpg以删除Alpha。然后,您可以将其保存回png。
    该图像应该已经可以工作了。
  • 通过image-> mode-> greyscale将其转换为灰度(因为在这种类型的蒙版中会丢弃颜色信息)。
  • 10-08 06:27