我想通过将另一个图像作为掩码传递来掩盖一个图像。我可以屏蔽图像,但生成的图像看起来不太好。它在边界处呈锯齿状。
我猜这个问题与视网膜图形有关。两个图像的比例属性不同:
- 我要遮罩的图像的比例值为 1。该图像的分辨率通常大于 1000x1000 像素。
- 我想要生成的图像(仅具有黑白颜色的图像)的图像具有比例值 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;
}
如何获得遵循视网膜比例的蒙版图像?