iphone - 有没有办法快速修改图像中的单个颜色值?

标签 iphone objective-c ios core-graphics image-manipulation

例如,我有一个 CGImageRef,我想将所有红色的像素转换为橙色。或者换句话说:我想对图像中的每个像素应用一个值函数,它根据像素具有的 RGBA 值修改像素。因此,值(value)函数将根据当前分量值和应用于它的一些算法计算该像素的新分量值。

我知道如何用大约 100 行代码手动编写代码,但我想知道是否有更简单甚至更快的方法?

我相信 Brad Larson 曾在某个地方提到过,像这样的事情可以在 GPU 上轻松快速地完成。但是,我必须支持 iOS 3.2,所以它不应该太花哨。

对任何想法都会很高兴。 谢谢!

最佳答案

据我所知,没有内置函数可以实现您想要的。

在像素级别进行自定义图像操作时获得 GPU 加速的最简单方法是使用 Accelerate.framework . Accelerate 将根据可用硬件使用“最佳执行路径”。

但是...iOS 的移植只针对 iOS4

(免责声明:我对 OpenGL 中的一切可能几乎没有经验或知识,所以我的回答仅限于 iOS 的核心图形领域)

关于iphone - 有没有办法快速修改图像中的单个颜色值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6386654/

相关文章:

iphone - 在 iOS 中使用 Core Audio 同时播放和录音

objective-c - 测量方法执行时间的基本方法

iphone - 如何从 iPhone/Ipad 中的图像识别人脸?

ios - Xcode 或 Core Animation 中的阿拉伯风格页面翻转/ curl

ios - 从 Bluez 5.48 开始,iPhone 在连接 BLE GAP 外设时需要配对,为什么?

ios - UICollectionView 顶部栏未出现在模拟器中

iphone - 在 iOS 中检测 iTunes Store 的国家

ios - 查找从服务器接收到的数据的文件类型

objective-c - 在输入时放在括号中?

objective-c - 在 iOS 中使用 RestKit 解析 unix 时间戳