iOS - 调整UIImage的色调

时间:2011-12-13 17:10:54

标签: ios cgcontext adjustment hue

是否可以调整UIImage / CGContextRef的Hue? 我试图将Context与Color和Hue混合模式混合,但结果是错误的。

我应该将RGB转换为HSB,调整HSB并转换回来吗?

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。我只是将每个像素的颜色转换为HSB,调整色调并转换回RBG:

//convert to HSB
CGFloat h, s, l, a;
UIColor *color = [UIColor colorWithRed:r green:g blue:b alpha:1.0f];  
[color getHue:&h saturation:&s brightness:&l alpha:&a];

//adjust hue
h *= amount;

//convert back to RGB
color = [UIColor colorWithHue:h saturation:s brightness:l alpha:1.0f];
[color getRed:&r green:&g blue:&b alpha:&a];

这不是最快的解决方案,但很简单

答案 1 :(得分:1)

对于iOS 5,您可以使用核心图像过滤器名称CIHueAdjust。

CIHueAdjust filter