2011-06-21 2 views
4

Я нарисую текст в пользовательской этикетке.Цвета: белый, если фон DARK и BLACK, когда есть СВЕТ

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

Итак, когда фон ТЕМНЫЙ, я хочу нарисовать белый текст переднего плана, когда его СВЕТ Я хочу ЧЕРНЫЙ передний план.

Как «понять», если цвет LIGHT или DARK?

+1

http://stackoverflow.com/questions/97646/how-do-i-determine-darker-or-lighter-color-variant-of-a- given-color/97697 # 97697 –

+0

@ KMån: Мне не нужен более темный или светлый вариант цвета. Мне нужно определить, является ли данный цвет светлым или темным сам по себе. – serhio

+0

Возможно, вы захотите принять свой собственный ответ. Использование предопределенной функции явно лучше, чем повторное изобретательство колеса. – CodesInChaos

ответ

1

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

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

Смежные вопросы