Алгоритм получения контрастного цвета

интернет компьютеры цвет

Имеется три составляющие цвета RGB, как по ним получить три составляющие цвета, наиболее контрастного к данному?

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

Примечание:
>нужен более "умный" алгоритм
Ну так может знающие подскажут? Задча-то вполне конкретная, и ответ интересует конкретный, а не фуфло вроде "черное на белом и наоборот".
Ответы:
черное на белом и наоборот, от этого и отталкиваетесь
если не учитывать специфику человеческого цветовосприятия (считать всех людей машинами), то можно принять, что контрастность двух цветов выражается как монотонная функция от (R-R₁)²+(G-G₁)²+(B-B₁)²
максимумы слагаемых достигаются при максимальном |R-R₁| и т.д.
для нахождения этих максимумов нужно выбрать из максимального и минимального значения R то, которое находится дальше от R₁ — значения красного канала для данного цвета
сделать это несложно: if (R₁ > 1/2) R = 0 else R = 1; (если считать допустимыми значения от 0 до 1)
"черное на белом и наоборот" Фуфло лишь на первый взгляд, а на второй - инверсия цвета! Тоесть тебе нужна фотмула получения "негатива" - это и будет лучший из вариантов и уже реализовано в ряде программ


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.