Генератор палитры

Калькулятор генерирует набор цветов от заданного начального к конечному, используя максимальное разнообразие (радугу).

Калькулятор ниже генерирует набор цветов от заданного начального цвета к конечному, получая ленту цветов с переходами по типу радуги. Может пригодиться для генерации расцветок сайта, цвета линий на графиках, и т. п. Немного теории по генерации цветов под калькулятором.

PLANETCALC, Генератор палитры

Генератор палитры

Файл очень большой, при загрузке и создании может наблюдаться торможение браузера.

Задача программной генерации набора цветов между двумя заданными не совсем тривиальна, как может казаться. Дело в том, что программисты (за дизайнеров не скажу, но возможно) для представления цвета чаще всего используют модель RGB. Если ее визуализировать в виде куба на трех координатах (red green blue), то получится примерно вот такой рисунок: (источник).

https://commons.wikimedia.org/wiki/File%3ARGBCube_b.svg
https://commons.wikimedia.org/wiki/File%3ARGBCube_b.svg

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

Но все меняется, если представлять цвет в модели: HSV.
Вот ее визуализация (источник).

https://commons.wikimedia.org/wiki/File:HSV_cone.png
https://commons.wikimedia.org/wiki/File:HSV_cone.png

Теперь описать движение от одного цвета к другому проще. Собственно, это и делает калькулятор — переводит заданные начальный и конечный цвета из RGB в HSV и делает простую линейную интерполяцию между ними. Кстати, стоит заметить, что для целочисленных представлений цветов 16777216 цветов RGB отображаются на 3600000 цветов HSV, поэтому обратное преобразование может дать цвет, немного отличающийся от начального или конечного цвета.

Ссылка скопирована в буфер обмена
PLANETCALC, Генератор палитры

Комментарии