Если вы используете значения RGB для 255, вы можете сделать что-то вроде этого:
newR = 255 - r;
newG = 255 - g;
newB = 255 - b;
Чтобы понять эту концепцию, представьте каждое значение в виде числовой линии, идущей от 0 до 255. Если вы отобразите число на этой числовой строке, то это число будет на расстоянии от начала числовой линии. Чтобы отрицать это, номер должен перейти на другой конец строки номера. Этот алгоритм в основном переворачивает числовую строку, не сдвигая ни начало, ни конец. Наша числовая строка от 0 до 255, поэтому, если число было 10 от начала (10), теперь оно будет 10 от конца (245), таким образом, отрицая цвет.