Как по цвету фона в RGB определить светлый он или тёмный? Есть цвет фона - он может быть любым, даже #791
И есть заранее известные и определённые светлые и тёмные цвета текста.
Например, светлые - #fff, #ff0, #0f0
Тёмные - #800, #000
Очевидно, что на светлом фоне не будет виден светлый текст, и на тёмном - тёмный.
Как определить, светлый фон или тёмный (true/false), чтобы подобрать соответствующий цвет текста?

21 Авг 2019 в 06:03
183 +1
0
Ответы
1

Для определения, является ли фон светлым или тёмным, можно воспользоваться формулой для определения контраста между двумя цветами.

Для RGB значения цветов представляются в виде трёх чисел от 0 до 255: одно для красного (R), одно для зелёного (G) и одно для синего (B).

Для определения контраста между цветом фона и цветом текста можно использовать следующее уравнение:

L = (0.2126 R) + (0.7152 G) + (0.0722 * B)

Это уравнение учитывает восприятие цвета человеческим глазом и оценивает яркость цвета на основе его RGB значения.

Если значение L больше 128 (половина от 255), то фон считается светлым. Если значение L меньше или равно 128, фон считается тёмным.

Пример:
Для цвета фона #791: R=119, G=153, B=145
L = (0.2126 119) + (0.7152 153) + (0.0722 * 145) ≈ 139.63

Таким образом, цвет фона #791 можно считать светлым.

20 Апр 2024 в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 95 750 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир