1

マスクUIImageにこのコードを使用しています:

- (UIImage*)maskImage:(UIImage *)image withMask:(UIImage *)maskImage2 {
    CGImageRef maskRef = maskImage2.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;
}

IOS 6 では完璧に動作し、すべての UIImage をマスクしますが、IOS 4.3 を搭載した iPhone 4 で試してみると、一部の画像はマスクされていますが、この画像でわかるように背景が黒いことに気付きました。 ここに画像の説明を入力

これはマスク画像です: ここに画像の説明を入力

お気づきのように、最初の画像はマスクですが、側面が黒く、他の画像は完全にマスクされています。毎回同じ画像で発生することに気付きました。何が問題になる可能性がありますか?

====================================

編集

画像をドキュメントに保存しようとしましたが、それらを見た後、maskedImage黒い境界線なしで保存したように見えますが、なぜこの黒い境界線が表示されるのですか?

4

0 に答える 0