3

我正在使用此功能屏蔽图像(左)

- (UIImage*)maskWithMask:(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([self CGImage], mask);
    UIImage *maskedImage = [UIImage imageWithCGImage:masked];

    CGImageRelease(masked);

    UIGraphicsBeginImageContextWithOptions(maskedImage.size,NO,0.0);
    [maskedImage drawAtPoint:CGPointZero];
    UIImage *newImg = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return newImg;
}

蒙版后,生成的图像似乎质量下降/略微模糊,如照片右侧所示。我无法找出原因。我知道这不是重大损失,但足以在视网膜显示器上注意到,这就是我正在开发的。有什么想法吗?

蒙版前后图像对比

4

0 回答 0