コードを使用しないでください:
CGImageRef localResultImage;
CGImageRef localMaskImage;
size_t width = CGImageGetWidth(myImageMask);
size_t height = CGImageGetHeight(myImageMask);
size_t bitsPerComponent = CGImageGetBitsPerComponent(myImageMask);
size_t bitsPerPixel = CGImageGetBitsPerPixel(myImageMask);
size_t bytesPerRow = CGImageGetBytesPerRow(myImageMask);
CGDataProviderRef provider = CGImageGetDataProvider(myImageMask);
CGBitmapInfo bitmapInfo = CGImageGetBitmapInfo(myImageMask);
CGColorSpaceRef space = CGImageGetColorSpace(myImageMask);
CGColorRenderingIntent intent = CGImageGetRenderingIntent(myImageMask);
localMaskImage = CGImageCreate(width,
height,
bitsPerComponent,
bitsPerPixel,
bytesPerRow,
space,
bitmapInfo,
provider,
NULL,
TRUE,
intent);
localResultImage = CGImageCreateWithMask(myImage, localMaskImage);
CGContextDrawImage(myContext, dirtyRect, localResultImage);
localResultImage = (null) - なぜ?
ドキュメント Apple: CGImageMaskCreate 関数を使用して作成されたイメージ マスクを渡す代わりに、Quartz イメージ作成関数の 1 つから作成されたイメージを提供します。
マスクとして使用される (Quartz イメージ マスクではない) イメージのソース サンプルは、アルファ値として機能します。.... この場合、CGImageCreate などの Quartz 画像作成関数の 1 つを使用して、図 11-6 に示す画像が作成されたとします。
動作しません...うーん
ログ情報 myImageMask:
幅: 440
高さ: 292
BitsPerComponent: 8
BitsPerPixel: 8
BytesPerRow: 440
BitmapInfo: 0
ColorSpace: (kCGColorSpaceICCBased; kCGColorSpaceModelMonochrome; ドット ゲイン 20%)
RenderingIntent: 2