Перекраска меняет не рисунок, а его язык цвета. Так печатают дуотоны в две краски, так тепловизор раскрашивает температуру, а астрономы — снимки в невидимых лучах. Слой переводит картинку ниже в цвета палитры документа тремя способами.
Как это устроено
Всё начинается со светлоты — и не из RGB, а из OKLab: в этом пространстве равные шаги числа примерно равны шагам восприятия (у серого L ≈ ∛Y, кубический корень из яркости). Светлоту готовят как в «Уровнях»: «Автоуровни» растягивают её диапазон по редкой выборке 9×9 точек, «Точка чёрного» и «Точка белого» обрезают края, «Гамма» гнёт середину, «Ступени» режут на полосы — постеризация. (В повороте оттенка работают только гамма, ступени и инверсия.)
«Карта градиента» ставит полученному числу в соответствие цвет. Цвета палитры и фон сортируются по светлоте и соединяются градиентом тоже в OKLab, поэтому тёмные места картинки получают тёмные цвета палитры, а переходы не проваливаются в серую грязь, как при смешивании в RGB. «Ближайший цвет» заменяет пиксель самым близким цветом документа по расстоянию в OKLab. «Поворот оттенка» крутит оттенок в OKLCH, не трогая светлоту. В HSL тот же поворот превратил бы тёмно-синий в ослепительно-жёлтый: у обоих там «светлота» 50 %. Если новый цвет не помещается в sRGB, хрома уменьшается бисекцией, пока не поместится, — светлота и оттенок сохраняются.
Немного истории
Идея старше компьютеров: сепия и вираж фотографий, двухкрасочная печать. Энди Уорхол в «Диптихе Мэрилин» (1962) сводил фотографию к нескольким плоским пятнам и раскрашивал их заново — постеризация и карта градиента вручную, через шелкографию. Научной графике с картами цветов везло меньше: радуга jet годами искажала данные, пока Борланд и Тейлор в 2007 году не написали статью «Радужная палитра (всё ещё) вредна», а в 2015-м для matplotlib не создали перцептивно ровную viridis. OKLab Бьёрн Оттоссон опубликовал в 2020 году на смену CIELAB (1976), у которого синий при потере насыщенности уходит в фиолетовый.
Что покрутить
- «Градиент» → «по порядку» игнорирует светлоту цветов и идёт по палитре как по шкале — хорошо для радуг и тепловых карт.
- «Ступени» 3–5 — плакатная постеризация в духе Уорхола; с «Автоуровнями» полосы займут весь диапазон картинки.
- «Инвертировать» — негатив в цветах палитры: светлые места получат тёмные цвета.
- «Смешать с оригиналом» 0,3–0,5 — лёгкая тонировка вместо полной замены.
- Лучше всего слой работает на «Топографии», «Реакции–диффузии» и «Мандельброте и Жюлиа»: сложная светлота превращается в чистые уровни. Поверх «Спектрограммы» получается научная тепловая карта.