Хороший текстовый основной цвет для данного цвета фона

Свойство дает вам несколько преимуществ по сравнению с простым публичным полем:

  • вы можете контролировать, является ли свойство доступным только для чтения, только для записи или для чтения / записи
  • . может скрыть фактическую реализацию (возможно, в установщике вы хотите сделать больше, чем просто установить значение)
  • при использовании привязки данных (например, в ASP.NET) вам придется использовать свойства (не работает с поля)
72
задан Anurag Singh 4 January 2017 в 11:46
поделиться

6 ответов

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

Чтобы выбрать между черным или белым, вам нужно знать яркость фона. Это немного усложняется из-за двух факторов:

  • Воспринимаемая яркость отдельных основных цветов - красного, зеленого и синего - не идентична. Самый быстрый совет, который я могу дать, - использовать традиционную формулу для преобразования RGB в серый - R * 0,299 + G * 0,587 + B * 0,114. Есть много других формул.

  • Гамма-кривая, примененная к дисплеям, делает среднее значение серого выше, чем вы ожидали. Это легко решить, используя 186 в качестве среднего значения, а не 128. Все, что меньше 186, должно использовать белый текст, все, что больше 186, должно использовать черный текст.

121
ответ дан 24 November 2019 в 12:37
поделиться

Я не специалист по программированию вещей, связанных с RGB, но с точки зрения дизайнера часто наиболее читаемый цвет будет просто намного светлее (если цвет фона темный) или темнее ( (если цвет фона светлый) того же оттенка.

В основном вы берете свои значения RGB, и если они ближе к 0 (темный), вы должны увеличивать их каждое на равную величину для вашего цвета переднего плана. , или наоборот, если это светлый BG.

Дополнительные цвета могут быть действительно болезненными для глаз для удобочитаемости.

11
ответ дан 24 November 2019 в 12:37
поделиться

Вам будет лучше с большой разницей в яркости. В общем, цветной фон с цветным текстом плохо читается и со временем портит глаза. Слегка окрашенные цвета (например, в HSB, S ~ 10%, B> 90%) с черным текстом работают нормально, или слегка окрашенный текст на черном фоне. Я бы не стал раскрашивать оба. Темный текст (b ~ 30%, s> 50%) с тонкой окраской на белом фоне также может подойти. Желтый (янтарный) текст на темно-синем фоне отлично читается, как и желтый или зеленый текст на черном. Вот почему старые тупицы (vt100, vt52 и т. Д. ) выбрал эти цвета.

Если вам действительно нужно сделать цвет на цвете для «внешнего вида», вы можете поменять местами H и B, установив насыщенность на умеренном или низком уровне.

И последнее замечание: если у вас 50% серый фон, пересмотрите свой интерфейс. Вы лишаете себя половины своего динамического диапазона! Вы отталкиваете малозаметных пользователей, в том числе всех старше 35 ...

3
ответ дан 24 November 2019 в 12:37
поделиться

Цветовые комбинации часто выглядят ужасно, если их не тщательно выбирать. Почему бы не использовать для текста белый или черный цвет, в зависимости от яркости цвета. (Сначала нужно будет преобразовать в HSB.)

Или разрешите пользователю выбрать черный или белый текст.

Или используйте заранее определенные комбинации. Это то, что Google делает в своем календаре.

2
ответ дан 24 November 2019 в 12:37
поделиться

Я обычно смотрю на дополнения цвета, у них также есть колеса дополнения цвета, чтобы помочь

http://www.makart.com/resources/artclass/cwheel.html

Если ваш цвет - HSL, переверните оттенок на 180 градусов для приличного расчета

0
ответ дан 24 November 2019 в 12:37
поделиться

Я считаю, что преобразование в HSV могло бы быть подходящим способом, но изменение оттенка IMO выглядело бы странно. Я бы попробовал сохранить оттенок и возиться со значением и, возможно, насыщенностью (светло-красные кнопки с темно-красным текстом ... хм звучит страшно :-)).

-1
ответ дан 24 November 2019 в 12:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: