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

マスクの後、結果の画像は、写真の右側に示すように、品質が低下したり、わずかにぼやけたりしたように見えます。その理由を突き止めることはできません。大きな損失ではないことはわかっていますが、私が開発しているものである Retina ディスプレイで気付くには十分です。何かご意見は?

マスキング前後の画像比較

4

0 に答える 0