CIFilter HueAdjust

时间:2013-04-23 02:48:21

标签: uiimage cifilter

How to programmatically change the hue of UIImage?

我正在使用上面的页面建议,用于Core图像过滤器CIFilter。我遇到的唯一问题是当我旋转到黄色色调时,它是一个黑色的芥末黄色,我无法获得最亮的黄色,即R:255 G:255 B:0。我的图像在层上由简单的颜色组成R:255 G:0 B:0我只想旋转,以获得基本颜色加橙色。橙色很好。

我只是不知道为什么当我从R:255旋转以尝试获得R:255 G:255黄色时它是深黄色。

我正在使用1.04719755作为黄色浮点数,在deltaHueRadians

我不知道这是第三次尝试,但我一直变得肮脏的黄色。

1 个答案:

答案 0 :(得分:1)

我意识到了这个问题。

在Photoshop中,当我以前用照片编辑时,我做了很多Colorize操作,我让他们与Hue Rotation混淆了。

基本上在Photoshop中着色时,它会“着色”图像而不仅仅是Hue旋转值。

根据您使用的图像,两者之间的差异非常细。我真的不想进入一个完整的解释,但......

假设图层上有灰色立方体,并且您对图像进行着色,立方体将在您使用滑块时旋转颜色。如果你旋转它会保持灰色。

但是如果你采用一个红色的立方体,并且色调旋转,那么色调旋转将带你通过颜色,不一定所有颜色都像颜色一样。

我认为这个问题与所有好的HSV RGB矩阵疯狂的数学问题有关。我现在没做的。保持简单。

我决定用:

做一个着色方法

CGContextSetBlendMode(context,kCGBlendModeMultiply);

使用灰色物体,这完全是我想要的。

来自谷歌搜索我发现了这个:

http://coffeeshopped.com/2010/09/iphone-how-to-dynamically-color-a-uiimage