2012-11-25 134 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; 
} 

回答