【问题标题】:CIFilter HueAdjustCIFilter HueAdjust
【发布时间】:2013-04-16 02:51:49
【问题描述】:

How to programmatically change the hue of UIImage?

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

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

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

我不知道这很奇怪,这是第 3 次尝试,但我一直得到一个肮脏的黄色。

【问题讨论】:

    标签: uiimage cifilter


    【解决方案1】:

    我意识到了问题。

    我以前在 Photoshop 中进行照片编辑时进行了很多 Colorize 操作,我把它们与 Hue Rotation 混淆了。

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

    两者之间的区别很细,具体取决于您使用的图像。我真的不想做一个完整的解释,但是......

    假设您在图层上有一个灰色立方体,并且您为图像着色,立方体将在您使用滑块时旋转颜色。如果您旋转色相,它将保持灰色。

    但是,如果您使用红色立方体并旋转色调,那么色调旋转将带您穿过颜色,不一定所有颜色都像着色一样。

    我相信这个问题与所有优秀的 ole HSV RGB 矩阵疯狂数学问题有关。我现在没有这样做。保持简单。

    我决定只做一个着色方法:

    CGContextSetBlendMode(context, kCGBlendModeMultiply);

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

    通过谷歌搜索我发现了这个:

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

    【讨论】:

      猜你喜欢
      • 2018-02-06
      • 2015-01-04
      • 2017-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-16
      • 2014-05-05
      • 1970-01-01
      相关资源
      最近更新 更多