我正在尝试为 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;
}