-(CGImageRef)drawing{
CGContextRef context;
GLubyte *bitmapData;
size_t width, height;
width=super.size.width;
height=super.size.height;
bitmapData = (GLubyte *) calloc(width * height * 4, sizeof(GLubyte));
context = CGBitmapContextCreate(bitmapData, width, height, 8, width * 4, CGColorSpaceCreateDeviceRGB(), kCGImageAlphaPremultipliedLast);
if (context==NULL){
NSLog(@"context not created?! (o_*) ");
}
free(bitmapData);
CGContextSetRGBFillColor (context, 1, 0, 0, 1);
CGContextFillRect (context, CGRectMake (0, 0, 200, 100));
CGContextSetRGBFillColor (context, 0, 0, 1, .5);
CGContextFillRect (context, CGRectMake (0, 0, 100, 200));
CGImageRef myImage = CGBitmapContextCreateImage (context);
CGContextRelease(context);
return myImage;
}
所以我想呈現的背景下,抽出屏幕,然後把它作爲一個CGImageRef
但由於某些原因上下文始終是NULL,當我閱讀應用程序崩潰的圖像輸出。CGContextRef無法創建
有人可以解釋這裏發生了什麼和/或指向我的一個例子,在這裏工作。
控制檯中是否有任何東西?可能有關於嘗試創建上下文的錯誤的消息。 – rmaddy
@rmaddy僅限於 CGContextSetRGBFillColor:無效的上下文0x0但應該在那裏,因爲上下文爲空。除此之外沒有什麼......這就是我困惑的原因 –
skytz
嘗試用'CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB)'替換你的色彩空間。順便說一句 - 你需要釋放色彩空間。 – rmaddy