マスク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
黒い境界線なしで保存したように見えますが、なぜこの黒い境界線が表示されるのですか?