【发布时间】:2012-08-10 00:27:29
【问题描述】:
如何以编程方式仅在几个部分更改 UIImage 的色调?我已经关注了这个链接
How to programmatically change the hue of UIImage?
并在我的应用程序中使用了相同的代码。它工作正常,但完整的图像色调正在改变。根据我的要求,我只想更改上面快照中的树颜色。我怎样才能做到这一点?
【问题讨论】:
如何以编程方式仅在几个部分更改 UIImage 的色调?我已经关注了这个链接
How to programmatically change the hue of UIImage?
并在我的应用程序中使用了相同的代码。它工作正常,但完整的图像色调正在改变。根据我的要求,我只想更改上面快照中的树颜色。我怎样才能做到这一点?
【问题讨论】:
这是一个使用掩码的更普遍问题的具体案例。我假设您有某种方法可以知道“树”部分中有哪些像素,哪些不是。 (如果不是,那是另一个问题/问题)。
如果是这样,首先将原始内容绘制到结果上下文中,然后创建一个遮罩(参见此处:http://mobiledevelopertips.com/cocoa/how-to-mask-an-image.html),并使用代表树的遮罩绘制更改后的色调版本。
【讨论】:
我建议您特别查看 CoreImage API 和 CIColorCube 或 CIColorMap 过滤器。现在如何定义颜色立方体或颜色图才是真正的魔力所在。您需要转换树的色调(棕色等),但这显然会转换所有的棕色,而不仅仅是您的树。
【讨论】: