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

时间:2011-06-17 13:41:58

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

例如,我有一个CGImageRef,我想将所有红色的像素移到橙色。换句话说:我想对图像中的每个像素应用一个值函数,它根据它具有的RGBA值修改像素。因此,value函数将根据当前组件值和应用的某些算法计算该像素的新组件值。

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

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

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

1 个答案:

答案 0 :(得分:1)

据我所知,没有内置功能可以达到你想要的效果。

在像素级别进行自定义图像处理时获取GPU加速的最简单方法是使用Accelerate.framework。 Accelerate将使用基于可用硬件的“最佳执行路径”。

然而...... iOS的端口仅适用于iOS4

(免责声明:我对OpenGL中可能存在的一切都没有经验或知识,因此我的答案仅限于iOS的核心图形领域)