我想通过传递另一张图片作为遮罩来掩盖一张图片。我能够掩盖图片,但结果图片看起来不好。边缘处有锯齿状。
我猜问题与视网膜图形有关。两个图像的比例属性不同,如下:
1. 我要掩盖的图像具有比例值 1。该图像通常具有大于 1000x1000 像素的分辨率。 2. 我想要基于其生成只有黑白颜色的结果图像(即带有遮罩效果)的图像具有比例值 2。该图像通常具有分辨率 300x300 像素。 结果图像的比例值为 1。
我正在使用的代码是:
如何获得一个遵循视网膜比例的遮罩图像?
我猜问题与视网膜图形有关。两个图像的比例属性不同,如下:
1. 我要掩盖的图像具有比例值 1。该图像通常具有大于 1000x1000 像素的分辨率。 2. 我想要基于其生成只有黑白颜色的结果图像(即带有遮罩效果)的图像具有比例值 2。该图像通常具有分辨率 300x300 像素。 结果图像的比例值为 1。
我正在使用的代码是:
+ (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);
UIImage *maskedImage = [UIImage imageWithCGImage:masked ];
CGImageRelease(masked);
return maskedImage;
}
如何获得一个遵循视网膜比例的遮罩图像?