Dont работа с кодом: Маскирование изображения с изображением?
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 = (нуль) - Почему?
В документации Apple: Вместо передачи маски изображения, которая создается с помощью функции CGImageMaskCreate, вы поставить изображение, созданное из одной из функций создания образа Quartz.
Исходные образцы изображения, которое используется в качестве маски (но не является маской изображения кварца), действуют как альфа-значения. .... В этом случае предположим, что изображение, показанное на рисунке 11-6, создается с использованием одной из функций создания изображения Quartz, таких как CGImageCreate.
, но не работает ... Хм
журнала Info myImageMask:
Ширина: 440
Высота: 292
BitsPerComponent: 8
BitsPerPixel: 8
BytesPerRow: 440
BitmapInfo: 0
ColorSpace: (kCGColorSpaceICCBased; kCGColorSpaceModelMonochrome; Dot Gain 20%)
RenderingIntent: 2
+1 за приятные глазу кода/шрифта. –
- myImageMask и myImage! = Null? –
myImageMask == истина/myImage == истина/localMaskImage == верно – TESTer