UIColor не соответствует стандартному цветовому колесу RGB? - PullRequest
0 голосов
/ 02 июня 2011

Оттенок в UIColor отличается от стандартного цветового круга RGB. Под этим я подразумеваю совпадение двух противоположных цветов на цветовом круге (то есть желтого и фиолетового), но если вы выберете два противоположных цвета в UIColor, например:

Цвет 1: оттенок 0,45
Цвет 2: оттенок 0,95

они не совпадают. Есть ли способ найти противоположный цвет в спектре через UIColor?

Ответы [ 2 ]

6 голосов
/ 02 июня 2011

Цвета друг напротив друга на колесе, обычно не называемые «совпадающими», они называются «дополнительными», например, если вы смешиваете их вместе, вы получаете белый (или черный, если вы имеете дело с вычитающими цветами, т.е.пигменты).

RGB на самом деле не цветное «колесо», это скорее форма куба.Оттенок в HSB , однако, часто выражается в виде угла от 0˚ до 360 red, с красным на 0˚ и бирюзовым на 180˚.Если вы берете значение 180˚ из того, с чего начинаете, вы получаете дополнение: красный 0˚ / бирюзовый 180˚, зеленый 120˚ / фиолетовый 300˚ и т. Д. При программировании диапазон оттенков обычно записывается в виде дроби между0 и 1 включительно.В этой схеме вы можете сделать

fmod(val - 0.5, 1.0)

, чтобы получить комплемент.

Вы еще не сказали, какой результат вы ожидаете и какой результат вы получите, поэтому трудноособенно полезно, но 0,95 и 0,45 действительно дополняют друг друга, и когда я создаю UIColor s с этими значениями, я вижу ожидаемые оттенки красноватого и бирюзового цветов.

Цвета на экране компьютера ведут себя не так, какцвета краски, потому что в первом случае вы добавляете длины волн света , чтобы получить результат, а во втором вы избирательно поглощаете длины волн .Это может быть источником вашей путаницы.Красный плюс желтый соответствует оранжевому с пигментами, а красный плюс зеленый соответствует желтому со светом.

1 голос
/ 02 июня 2011

Я ответил на вопрос так же, как этот не так давно. Суть в том, что существует множество разных цветовых моделей. Даже в вашем вопросе вы, кажется, думаете о двух разных моделях: желтая и фиолетовая могут быть бесплатными в красно-желто-синей модели, но не настолько в красно-зелено-синей модели.

...