iOS - настроить оттенок UIImage
Можно ли настроить оттенок UIImage/CGContextRef? Я пытался смешать контекст с режимом смешивания цветов и оттенков, но результат был неправильным.
Должен ли я конвертировать RGB в HSB, настроить HSB и конвертировать обратно?
2 ответа
Решение
Для iOS 5 вы можете использовать имя фильтра основных изображений CIHueAdjust.
Я нашел решение. Я просто конвертировал цвет каждого пикселя в 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];
Это не самое быстрое решение, но оно простое