Подтвердить что ты не робот

Алгоритм расчета обратного цвета

У меня есть цвет RGB в диапазоне от 0.0 до 1.0 для каждого фрагмента, мне нужен алгоритм для получения обратного цвета, любые идеи, как я могу это сделать?

4b9b3361

Ответ 1

newR = 1.0 - r
newG = 1.0 - g
newB = 1.0 - b

Если цвет имеет предварительно умноженное значение Alpha, используйте альфа вместо 1.0:

newR = a - r
newG = a - g
newB = a - b

Ответ 2

Если вы используете значения RGB до 255, вы можете сделать что-то вроде этого:

newR = 255 - r;
newG = 255 - g;
newB = 255 - b;

Чтобы понять эту концепцию, представьте каждое значение в виде числовой линии, идущей от 0 до 255. Если вы отобразите число на этой числовой строке, то это число будет на расстоянии от начала числовой линии. Чтобы отрицать это, номер должен перейти на другой конец строки номера. Этот алгоритм в основном переворачивает числовую линию, не перемещая начало или конец. Наша числовая линия от 0 до 255, поэтому, если число было 10 от начала (10), теперь оно будет 10 от конца (245), таким образом, отрицая цвет.