iphone - 从 CGBitmapContextGetData 获取图像

标签 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

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

最佳答案

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


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

关于iphone - 从 CGBitmapContextGetData 获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11881406/

相关文章:

ios - ExtAudioFileSeek 后跟 ExtAudioFileRead 返回许多连续的 0 样本(不可能)

iphone - 如何加快 iPhone Simulator 中应用程序的启动速度?

iphone - 在项目中实现 UItabbarController + UInavigationBar

objective-c - 在 Interface Builder 中设置接口(interface)并在 for 循环中重用它

objective-c - Xcode:在调试中确定 xcode 中函数的调用者

objective-c - 初始化后直接取消分配内容 View Controller 的弹出窗口

ios - iOS 7 上的矩形 UISearchBar

PHP JSON返回字符串问题

iphone - 有没有一种方法可以将旧 Xcode 项目中的代码与新 Xcode 项目中的代码进行比较?

ios - 无效的 Swift 支持