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

Доброго времени суток. Столкнулся с такой задачей. Пользователь загружает изображение, программа пишет на нём текст и возвращает изображение с текстом пользователю. Вопрос в следующем - как выбрать цвет, который будет хорошо виден на изображении? Ну т.е. если изображение такое bestin.ua/static/uploads/news/16_05_12/e282595eb6f... , то мы должны написать текст белым цветом, т.к. чёрный будет плохо виден, а если такое - t1.moskva.fm/uimg/artists/source/c2/c206c1c8348cd4... , то белый текст совсем не в тему. Подскажите решение) Заранее спасибо
  • Вопрос задан
  • 2478 просмотров
Пригласить эксперта
Ответы на вопрос 4
@DancingOnWater
Есть такое понятие как цветовой круг. Наиболее конрастный цвет к заданному лежит через 180 градусов.

Вот наглядная демонстрация
Ответ написан
Более правильно - искать наиболее удаленную от текущей точку в RGB-кубе (по законам геометрии это будет всегда вершина).
invR = (1 - (R div 128))*255
invG = (1 - (G div 128))*255
invB = (1 - (B div 128))*255
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Лучше всего видно когда вокруг букв делается контур контрастного к тексту цвета, при таком способе изображение может быть сколь угодно пёстрым.
Ответ написан
Комментировать
SHVV
@SHVV
Я обычно делаю текст белым + тёмно-серая отбрасываемая тень.
Работает всегда и везде.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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