igor-fedorov
@igor-fedorov
Full Stack разработчик

Как определить яркость rgb цвета в javasript?

Как можно определить "яркость" rgb цвета, чтобы текст поверх хорошо читался?

beef1f2e55804a8eb671e5d196768748.jpg

Прикладываю картинку для примера. Чтобы было видно, что на ярких фонах нужен чёрный цвет, а на более тёмных - белый.
  • Вопрос задан
  • 2002 просмотра
Решения вопроса 1
littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.
Пригласить эксперта
Ответы на вопрос 3
dom1n1k
@dom1n1k
W3C определяет минимальный контраст текста как 1:4.5:
https://www.w3.org/TR/WCAG20/#visual-audio-contrast
Как считать этот контраст:
https://www.w3.org/TR/WCAG20/#contrast-ratiodef

Те же самые рекомендации использует Google в material design, добавляя от себя оговорку, что 4.5 это минимум, а рекомендуется 7.
Ответ написан
Комментировать
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Яркость = 0.21 R + 0.72 G + 0.07 B
Ответ написан
Комментировать
getComputedStyle(document.body).color;
-- "rgb(0, 0, 0)"

var rgb = getComputedStyle(document.body).color.match(/\d+/g),
    r = parseInt(rgb[0]),
    g = parseInt(rgb[1]),
    b = parseInt(rgb[2]);

if(r > 200)
...
if(g > 200)
...
if(b > 200)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы