2012-11-25 177 views
0

我试图设置一个CGContext上一个透明背景,但不断收到:透明度CGContext上

CGBitmapContextCreateImage: invalid context 0x0 

下面是我得到了什么。如果我将kCGImageAlphaLast切换为kCGImageAlphaNoneSkipFirst,它可以工作,但alpha通道完全被忽略。我对这种颜色很陌生&上下文的东西 - 任何想法?

-(BOOL) initContext:(CGSize)size { 
int bitmapByteCount; 
int bitmapBytesPerRow; 

bitmapBytesPerRow = (size.width * 4); 
bitmapByteCount = (bitmapBytesPerRow * size.height); 

cacheBitmap = malloc(bitmapByteCount); 
if (cacheBitmap == NULL){ 
    return NO; 
} 

cacheContext = CGBitmapContextCreate (NULL, size.width, size.height, 8, bitmapBytesPerRow, CGColorSpaceCreateDeviceRGB(), kCGImageAlphaLast); 

CGContextSetRGBFillColor(cacheContext, 1.0, 1.0, 1.0f, 0.5); 
CGContextFillRect(cacheContext, self.bounds); 

return YES; 
} 

回答