更新时间:2023-02-01 22:54:57
使用CoreGraphics进行屏蔽:
Masking using CoreGraphics:
UIImage *img = [UIImage imageNamed:@"imagetomask.png"];
CGImageRef maskRef = [UIImage imageNamed:@"mask.png"].CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef maskedImage = CGImageCreateWithMask([img CGImage], mask);
[imageView setImage:maskedImage];
您的 mask.png
应该不是透明的图像像倒置的alpha一样填充-黑色代表可见部分,白色代表透明。
Your mask.png
should be non-transparent image filled like inverted alpha - black for visible parts, white for transparent.