Программно выбирайте высококонтрастные цвета - PullRequest
23 голосов
/ 02 января 2009

Это должен быть простой вопрос, но я не смог найти способ заставить его работать.

По сути, у меня есть глупая локальная страница, которую я использую в своей веб-разработке. Когда я занимаюсь серфингом между нашим сервером разработки и моей локальной версией кода C # (перенаправленной из URL-адреса dev через файл хоста), я иногда забываю, на что указывает dev.foo.com - локальный или серверный.

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

Эта страница делает много вещей случайным образом (в том числе генерирует начальную статистику персонажа для D & D), включая установку случайного цвета фона. Я делаю это, генерируя 3 случайных числа от 0 до 255 и устанавливая их в качестве значения RGB для цвета фона тела в CSS.

Учитывая 3 дюйма R, G и B, как мне определить R2, G2 и B2 таким образом, чтобы второй цвет имел высокую контрастность с первым? Мне нравится, когда у страницы случайные цвета фона (это не дает мне привыкнуть к виду целевой страницы), но мне также нравится читать текст.

Ответы [ 11 ]

0 голосов
/ 02 января 2009

Если вы перевернете все биты, вы получите «противоположный» цвет, который был бы довольно хорошим контрастом.

Я считаю, что это оператор ~ в C #:

R2 = ~R1;
G2 = ~G1;
B2 = ~B1;
...