从CGBitmapContextGetData获取图像

时间:2012-08-09 10:28:47

标签: iphone objective-c ios core-graphics

所以我有一个CGBitmapContext,我使用此

获取触摸位置的像素
unsigned char* data = CGBitmapContextGetData (offscreenBuffer);

if (data != NULL) {
    offset = 4*((self.bounds.size.width*round(coord.y))+round(coord.x));
    int alpha =  data[offset];
    int red = data[offset+1];
    int green = data[offset+2];
    int blue = data[offset+3];

} 

然后我改变像下面的像素颜色。

data[offset]=255;
data[offset+1]=255;
data[offset+2]=0;
data[offset+3]=0;

我的问题是如何从修改后的像素中获取CGImage,以便我可以更新CGBitmapContext

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:2)

修改数据后,使用CGBitmapContextCreateImage()从您的上下文生成新的CGImage


您对CGBitmapContextGetData()返回的数据所做的更改应修改上下文本身。这是一个可写指针,而不是副本。