在iOS中屏蔽时图像模糊/质量损失

时间:2013-03-12 19:26:06

标签: ios ipad cocoa-touch ios6

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

- (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;
}

在遮罩后,生成的图像看起来质量下降/模糊不清,如照片右侧所示。我无法找出原因。我知道这不是一个重大的损失,但它足以引起视网膜显示,这正是我正在开发的。有什么想法吗?

comparison of image before and after masking

0 个答案:

没有答案