是否可以调整 UIImage/CGContextRef 的色调?我试图将上下文与颜色和色调混合模式混合,但结果是错误的。
我应该将 RGB 转换为 HSB,调整 HSB 并转换回来吗?
是否可以调整 UIImage/CGContextRef 的色调?我试图将上下文与颜色和色调混合模式混合,但结果是错误的。
我应该将 RGB 转换为 HSB,调整 HSB 并转换回来吗?
我找到了解决方案。我只是将每个像素的颜色转换为 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];
这不是最快的解决方案,但它很简单
对于 iOS 5,您可以使用核心图像过滤器名称 CIHueAdjust。