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

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

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

2 ответа

Решение

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

CIHueAdjust filter

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

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

Другие вопросы по тегам