Цвета: белый, если фон темно и черный, когда свет - PullRequest
4 голосов
/ 21 июня 2011

Я рисую текст в пользовательском ярлыке.

Пользователь может изменять фон метки, но элемент управления должен обеспечивать видимость текста в зависимости от заданного фона.

Итак, когда фон DARK, я хочу нарисовать белый текст на переднем плане, когда его LIGHT, я хочу черный фон.

Как "понять", если цвет светлый или темный?

Ответы [ 3 ]

2 голосов
/ 06 июля 2011

использование Color.GetBrightness()

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

Простое решение - добавить цветовые компоненты цвета фона и сравнить их с порогом.

Возможно, вы захотите дать синему весу меньше. 0.3*R+0.6*G+0.1*B - это обычный выбор.

0 голосов
/ 25 июня 2011
...