CGImageCreateWithMaskingColors возвращает ноль - PullRequest
1 голос
/ 22 февраля 2012

Помощь!

Я много искал и не нашел решения этой "простой" проблемы. То, что я пытаюсь сделать, это заменить белые пиксели альфа. Похоже, CGImageCreateWithMaskingColors должен дать мне то, что я хочу, к сожалению, в любом случае он возвращает ноль. Вот мой код, что я делаю не так?

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

CGContextRef context = CGBitmapContextCreate(NULL, size.width, size.height, 8, 4 * size.width, colorSpace, kCGImageAlphaPremultipliedFirst);

//draw a black background
CGContextSetRGBFillColor(context,0,0, 0, 1);

CGContextFillRect(context, CGRectMake(0, 0, size.width, size.height));

char* text2 = (char *)[text cStringUsingEncoding:NSASCIIStringEncoding];

CGContextSelectFont(context, "Helvetica Bold", kFontSize, kCGEncodingMacRoman);

CGContextSetTextDrawingMode(context, kCGTextFill);

//draw text with the "alpha" color white)
CGContextSetRGBFillColor(context, 1, 1, 1, 1);

float textLength = 20;

CGContextShowTextAtPoint(context, (size.width/2)-(textLength/2), ((size.height/2)-(kFontSize/2))+5, text2, strlen(text2));

//create the black/white image

CGImageRef alphaMask = CGBitmapContextCreateImage(context);

const float colorMasking[6] = {0xEE, 0xFF, 0xEE, 0xFF, 0xEE, 0xFF};

CGImageRef imageMasked = CGImageCreateWithMaskingColors(alphaMask, colorMasking);

imageMasked - это nil, что бы я ни пытался. Буду признателен за любую помощь, вы можете предоставить, спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...