Эффекты

Перекраска палитрой

Перекрашивает картинку ниже цветами документа: карта градиента по светлоте, ближайший цвет палитры или поворот оттенка в OKLCH.

  • эффект
  • бесшовный тайл
Открыть в редакторе →

Перекраска меняет не рисунок, а его язык цвета. Так печатают дуотоны в две краски, так тепловизор раскрашивает температуру, а астрономы — снимки в невидимых лучах. Слой переводит картинку ниже в цвета палитры документа тремя способами.

Как это устроено

Всё начинается со светлоты — и не из RGB, а из OKLab: в этом пространстве равные шаги числа примерно равны шагам восприятия (у серого L ≈ ∛Y, кубический корень из яркости). Светлоту готовят как в «Уровнях»: «Автоуровни» растягивают её диапазон по редкой выборке 9×9 точек, «Точка чёрного» и «Точка белого» обрезают края, «Гамма» гнёт середину, «Ступени» режут на полосы — постеризация. (В повороте оттенка работают только гамма, ступени и инверсия.)

«Карта градиента» ставит полученному числу в соответствие цвет. Цвета палитры и фон сортируются по светлоте и соединяются градиентом тоже в OKLab, поэтому тёмные места картинки получают тёмные цвета палитры, а переходы не проваливаются в серую грязь, как при смешивании в RGB. «Ближайший цвет» заменяет пиксель самым близким цветом документа по расстоянию в OKLab. «Поворот оттенка» крутит оттенок в OKLCH, не трогая светлоту. В HSL тот же поворот превратил бы тёмно-синий в ослепительно-жёлтый: у обоих там «светлота» 50 %. Если новый цвет не помещается в sRGB, хрома уменьшается бисекцией, пока не поместится, — светлота и оттенок сохраняются.

t = ((L − L₀) / (L₁ − L₀))^γ, L — светлота OKLab ступени: t ← ⌊t·n⌋ / (n − 1) цвет(t) = OKLab-градиент палитры, отсортированной по L

Немного истории

Идея старше компьютеров: сепия и вираж фотографий, двухкрасочная печать. Энди Уорхол в «Диптихе Мэрилин» (1962) сводил фотографию к нескольким плоским пятнам и раскрашивал их заново — постеризация и карта градиента вручную, через шелкографию. Научной графике с картами цветов везло меньше: радуга jet годами искажала данные, пока Борланд и Тейлор в 2007 году не написали статью «Радужная палитра (всё ещё) вредна», а в 2015-м для matplotlib не создали перцептивно ровную viridis. OKLab Бьёрн Оттоссон опубликовал в 2020 году на смену CIELAB (1976), у которого синий при потере насыщенности уходит в фиолетовый.

Что покрутить

  • «Градиент» → «по порядку» игнорирует светлоту цветов и идёт по палитре как по шкале — хорошо для радуг и тепловых карт.
  • «Ступени» 3–5 — плакатная постеризация в духе Уорхола; с «Автоуровнями» полосы займут весь диапазон картинки.
  • «Инвертировать» — негатив в цветах палитры: светлые места получат тёмные цвета.
  • «Смешать с оригиналом» 0,3–0,5 — лёгкая тонировка вместо полной замены.
  • Лучше всего слой работает на «Топографии», «Реакции–диффузии» и «Мандельброте и Жюлиа»: сложная светлота превращается в чистые уровни. Поверх «Спектрограммы» получается научная тепловая карта.

Параметры

Способ
карта градиента · ближайший цвет · поворот оттенка
Градиент
По светлоте — тёмные тона получают тёмные цвета палитры; по порядку — как цвета стоят в палитре по светлоте · по порядку
Автоуровни
Растянуть светлоту картинки на весь градиент
Точка чёрного
Всё, что темнее, становится самым тёмным цветом (карта градиента и ближайший цвет)
Точка белого
Всё, что светлее, становится самым светлым цветом (карта градиента и ближайший цвет)
Гамма
Меньше единицы — светлее полутона, больше — темнее
Ступени
Постеризация: сколько уровней светлоты оставить (0 — плавно)
Инвертировать
Сдвиг оттенка
Для поворота оттенка, в градусах OKLCH
Насыщенность
Смешать с оригиналом
Единица — только новые цвета