如何只在几个部分中以编程方式更改UIImage的色调?

时间:2012-08-13 18:17:51

标签: ios iphone ipad colors

如何只在少数几个部分以编程方式更改UIImage的色调?我已经关注了这个链接

How to programmatically change the hue of UIImage?

enter image description here

并在我的应用程序中使用相同的代码。它工作正常,但完整的图像色调正在改变。根据我的要求,我想只更改上面快照中的树颜色。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

这是使用掩蔽的更一般问题的特定情况。我假设您有一些方法可以知道“树”部分中的像素是什么,哪些不是。 (如果没有,这是另一个问题/问题)。

如果是这样,首先将原始图形绘制到结果上下文中,然后创建一个蒙版(参见此处:http://mobiledevelopertips.com/cocoa/how-to-mask-an-image.html),并使用表示树活动的蒙版绘制已更改的色调版本。

答案 1 :(得分:0)

我建议你特别看一下CoreImage API和CIColorCube或CIColorMap过滤器。现在,如何定义颜色立方体或颜色图是真正的魔法所在。你需要变换树木色调(棕色等),虽然这显然会变换所有的棕色,而不仅仅是你的树。