2011-12-13 53 views
0

是否可以調整UIImage/CGContextRef的Hue? 我嘗試將上下文與Color和Hue混合模式混合,但結果錯誤。iOS - 調整UIImage的色調

我應該將RGB轉換成HSB,調整HSB並轉換回來?

回答

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]; 

這不是最快的解決方案,但它是簡單