iOS - настроить оттенок UIImage

Можно ли настроить оттенок UIImage/CGContextRef? Я попытался смешать контекст с режимом наложения цвета и оттенка, но результат был неправильным.

Должен ли я преобразовать RGB в HSB, настроить HSB и преобразовать обратно?


person Martin Pilch    schedule 13.12.2011    source источник


Ответы (2)


Для iOS 5 вы можете использовать имя основного фильтра изображения CIHueAdjust.

фильтр CIHueAdjust

person user523234    schedule 13.12.2011

Я нашел решение. Я просто преобразовал цвет каждого пикселя в 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];

Это не самое быстрое решение, но простое

person Martin Pilch    schedule 13.12.2011