是否可以使CGContextClipToMask
忽略蒙版图像的灰度值并像纯黑白一样工作?
我有一个灰度图像,当我将其用作蒙版时,灰色被解释为 Alpha channel 。这很好,除了我需要完全屏蔽那些不透明的像素。
简短示例:
UIImage *mask = [self prepareMaskImage];
UIGraphicsBeginImageContextWithOptions(mask.size, NO, mask.scale); {
// Custom code
CGContextClipToMask(UIGraphicsGetCurrentContext(), mask.size, mask.CGImage);
// Custom code
}
是否可以调整此代码来实现我的目标?
长话短说:我需要使透明的灰度图像在原来的位置变为透明,在纯色的位置变为全黑。
最佳答案
有趣的问题! Here's code我认为这就是您在一个简单的示例项目中想要的。与上面类似,但可以正确处理比例。如果需要,还可以选择保留蒙版图像中的 Alpha。快速组合测试似乎有效。
关于ios - CGContextClipToMask 可以用 alpha=1 屏蔽所有非透明像素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14622202/