-(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,当我读取图像输出时应用程序崩溃。
有人可以解释这里发生的事情和/或指出一个有效的例子。
答案 0 :(得分:0)
我不知道为什么上下文为空 - 宽度&身高可能不好。
但是......
在Quartz 2D Programming Guide中有一个使用CGBitmapContextCreate
的例子。