Если вы используете HSB, попробуйте сместить оттенок на половину максимального значения вверх или вниз, что даст вам «противоположный» цвет (также называемый дополнительным цветом). Тем не менее, это не поможет вам для серого спектра, который не имеет оттенка и, следовательно, будет выглядеть идентично.
Если вы сделаете это с оттенком и яркостью, вы получите своего рода «негатив», который работает во всех случаях. Истинный минус заставил бы вас «перевернуть» значение яркости вокруг средней точки, но это не работает для среднего серого, который все равно будет средним серым.
Не всегда возможно сделать цвет ярче (что вы делаете с белым?), Поэтому смещение оттенка и яркости вдвое наиболее надежно, если вы ищете контраст.