如何在ios中创建自己的蒙版

问题描述:

重复

所以不要否定我的声誉。

so don't negative my reputation.

我的面具图片是:

My mask image is :

我的输出是:

- (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];
}

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

So how to create my own mask image?

谢谢...

尝试将图像转换为不带alpha的灰度图像。

Try converting image to a grayscale image without alpha.


  • 将其另存为.jpg以删除alpha。然后你可以把它保存回png。
    此图片应该已经有效。

  • Save it as .jpg to remove alpha. Then you can save it back to png. This image should work already.

通过image-> mode-将其转换为灰度(因为在这种掩模中丢弃了颜色信息) >灰度。

Convert it to greyscale (since color information is discarded in this kind of masking) by image->mode->greyscale.