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を使用できます。