Ios CGImageMaskCreate指定遮罩图像的颜色
如何为提取图像的一部分指定遮罩图像颜色 我发现了以下代码:Ios CGImageMaskCreate指定遮罩图像的颜色,ios,ios7,uiimage,cgimage,Ios,Ios7,Uiimage,Cgimage,如何为提取图像的一部分指定遮罩图像颜色 我发现了以下代码: - (UIImage *)maskImage:(UIImage *)image withMask:(UIImage *)maskImage { CGImageRef maskRef = maskImage.CGImage; CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
- (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);
return [UIImage imageWithCGImage:masked];
}
正如Apple doc所说:
要应用遮罩参数的图像。这个图像
不得为图像遮罩,也不得具有图像遮罩或遮罩
与之相关的颜色。戴上面具。如果遮罩是一个图像,它
必须在DeviceGray颜色空间中,不能有alpha
组件,并且其本身不能被图像遮罩或遮罩遮罩
颜色如果遮罩的大小与
图像参数,然后石英缩放遮罩以适合图像
我有蓝色的源图像:
我有指定颜色的图像:
所以基于这些颜色,我想从源图像中提取图像的一部分,如果我能在源图像中检测到提取图像的中心坐标,那将是非常棒的。没错,问题是使用DeviceGray color时,我需要一个源图像和五个遮罩图像,但我想指定我要提取的颜色,并且只有两个图像-源图像和“遮罩”图像