iPhone SDK - CGBitmapContextCreate

时间:2011-03-20 18:16:17

标签: iphone uiimage cgbitmapcontextcreate

我想创建一个我自己的图像。我已经知道它的宽度(320 * 2 = 640)和高度(427)。

所以我有一些原始数据:

unsigned char *rawImg = malloc(height * width * 4 *2 );

然后,我会填写它:)

然后,我必须做类似的事情来获取位图并返回(UIImage *):

ctx = CGBitmapContextCreate(rawImg,width*2,height,8,
    ???,
    ???,
    kCGImageAlphaPremultipliedLast); 

UIImage * imgFinal = [UIImage imageWithCGImage:CGBitmapContextCreateImage(ctx)];
CGContextRelease(ctx); 



return imgFinal;

但是我不知道如何创建我的上下文ctx,正如你可以看到的“???”,甚至很难看到文档......

请帮忙! 谢谢:))

2 个答案:

答案 0 :(得分:0)

请参阅Apple的CGBitmapContext documentation

如果每个像素使用4个字节,那么每行的字节数可能是half_width * 2 * 4.

色彩空间可能是:

CGColorSpaceRef    colorSpace = CGColorSpaceCreateDeviceRGB();

答案 1 :(得分:0)

您可以使用

获取当前CGContextRef

CGContextRef context = UIGraphicsGetCurrentContext()