Цвета

Точный цвет по визуальному выбору

Выберите нужный цвет и получите его числовые значения.

Числовые
значения цвета

Визуальный выбор оттенка и мгновенный перевод в HEX, RGB, HSL, HSV и CMYK.

Цвет
Форматы
Значения

Точный подбор цвета

Выберите нужный оттенок и получите значения в популярных цветовых форматах.

Результат
—
После выбора цвета здесь появятся значения.

Определить точный цвет по визуальному выбору онлайн помогает интерактивная палитра, которая мгновенно преобразует указанный на экране оттенок в числовые и строковые значения популярных цветовых форматов. Инструмент решает базовую задачу перевода зрительно воспринимаемого тона в стандартизированный код для работы с цифровой графикой, таблицами стилей CSS и пользовательскими интерфейсами. Вместо ручного подбора параметров разработчик или дизайнер перемещает указатель по рабочей области, настраивая цветовой тон, насыщенность, светлоту и уровень прозрачности. Система автоматически рассчитывает координаты выбранной точки и выводит готовые для копирования спецификации.

Визуальное восприятие оттенка человеком и способ его обработки графическим движком различаются. Компьютерные системы требуют строгой математической записи: шестнадцатеричных строк HEX, поканальных значений RGB или цилиндрических координат HSL.

Входными данными при работе с палитрой служит положение курсора на шкале цветового тона, двумерном поле насыщенности и яркости, а также на ползунке альфа-канала. При каждом смещении указателя алгоритм пересчитывает координаты в значения основных цветовых моделей без потери точности. Полученный результат сразу готов к вставке в код веб-страницы, настройки векторного редактора или систему дизайн-токенов проекта.

Выбор цвета

Механика визуального выбора цвета и параметры оттенка

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

Цветовой тон Hue и угловая шкала спектра

Первичный параметр при визуальном поиске - цветовой тон Hue, определяющий положение чистого спектрального цвета без примесей белого или черного. На шкале или цветовом круге этот параметр измеряется в угловых градусах в диапазоне от 0 до 360. Поскольку спектр замкнут в кольцо, начальная точка 0 градусов и конечная отметка 360 градусов совпадают и соответствуют чистому красному цвету.

Перемещение ползунка вдоль шкалы Hue последовательно меняет базовую длину волны оттенка, проходя через узловые секторы спектра:

  • 0 и 360 градусов - чистый красный тон, служащий точкой отсчета координатной сетки.
  • 60 градусов - желтый сектор, формирующий теплую часть палитры.
  • 120 градусов - базовый зеленый тон.
  • 180 градусов - голубой или циановый оттенок, расположенный ровно напротив красного.
  • 240 градусов - чистый синий цвет.
  • 300 градусов - пурпурный или маджента, замыкающий переход обратно к красному сектору.

Насыщенность Saturation и параметры светлоты Lightness или яркости Value

После фиксации градуса Hue настройка переходит на двумерную палитру, где по горизонтальной и вертикальной осям регулируются насыщенность Saturation и светлота Lightness либо яркость Brightness и Value. Оба параметра измеряются в процентах от 0 до 100 и отвечают за концентрацию выбранного тона и степень его освещенности.

Параметр Saturation определяет чистоту хроматического пигмента. При значении 100% цвет обладает максимальной интенсивностью для своей светлоты. Снижение насыщенности ведет к затуханию тона: хроматическая составляющая постепенно замещается нейтральной ахроматической примесью. При падении Saturation до 0% любой выбранный градус Hue полностью теряет цветовую принадлежность и превращается в оттенок серого, белого или черного.

Вертикальная ось управляет количеством света в оттенке, но логика ее работы зависит от используемой координатной сетки палитры. В пространстве с параметром Value или Brightness отметка 100% означает максимальную световую отдачу источника: при полной насыщенности это дает чистый спектральный цвет, а при нулевой - абсолютно белый. В системе с координатой Lightness чистый спектральный тон располагается ровно посередине шкалы на уровне 50%, тогда как отметка 100% всегда выводит цвет в чистый белый независимо от положения ползунка насыщенности. В обеих системах нулевое значение (0%) соответствует абсолютному черному цвету.

Формирование оттенков через баланс чистого тона, белого и черного

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

Зависимость итогового характера цвета от расположения указателя и баланса компонентов представлена в таблице:

Категория оттенка Соотношение пигмента, белого и черного Положение указателя на палитре Характерные параметры Saturation и Value или Lightness
Чистый спектральный цвет 100% чистого пигмента, полное отсутствие белого и черного Верхний правый угол поля (для сетки Value) или правый центр (для сетки Lightness) Saturation 100%, Value 100% (или Lightness 50%)
Пастельные и разбеленные тона Высокая доля белого цвета при малом количестве чистого пигмента и отсутствии черного Верхняя левая и верхняя центральная зоны палитры Низкая или средняя Saturation (15-50%) при высокой светлоте (Value 85-100%, Lightness 75-95%)
Приглушенные полутона Сбалансированное смешение чистого пигмента с белым и черным (добавление серого) Центральная область рабочего поля палитры Средняя Saturation (30-70%) и умеренная яркость (Value и Lightness в районе 40-70%)
Глубокие темные оттенки Преобладание черного цвета над чистым пигментом при отсутствии белого Нижняя правая и нижняя центральная части поля Высокая или средняя Saturation (50-100%) при низкой яркости (Value и Lightness 10-35%)
Ахроматическая шкала (оттенки серого) Полное отсутствие чистого пигмента, варьируется только пропорция белого и черного Крайняя левая вертикальная граница палитры от белого верха до черного низа Saturation 0%, изменение Value или Lightness от 0% до 100%

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

Популярные форматы цветовых кодов: HEX, RGB и HSL

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

Десятичная аддитивная модель RGB

Формат RGB опирается на физический принцип работы экранов, где любой оттенок формируется путем сложения лучей трех базовых цветов на темном фоне. Запись представляет собой числовой триплет, определяющий интенсивность свечения красного, зеленого и синего каналов. В стандартном 8-битном представлении на каждый канал отводится ровно один байт информации, что дает 256 возможных градаций яркости - в десятичной системе счисления это целые числа от 0 до 255.

Синтаксически значение оформляется в виде функциональной нотации rgb(R, G, B) . Логика формирования цвета подчиняется правилам аддитивного смешивания:

  • Нулевые значения всех трех каналов rgb(0, 0, 0) означают полное отсутствие свечения, что воспринимается как абсолютно черный цвет.
  • Максимальная интенсивность всех компонентов rgb(255, 255, 255) при слиянии дает чистый белый цвет.
  • Одинаковые промежуточные значения во всех трех позициях, например rgb(128, 128, 128) , формируют нейтральные ахроматические оттенки серого без цветного подтона.
  • Доминирование одного или двух каналов при нулевом третьем создает чистые спектральные тона: запись rgb(255, 0, 0) задает эталонный красный, а комбинация красного и зеленого лучей в rgb(255, 255, 0) образует яркий желтый цвет.

Шестнадцатеричный код HEX

Формат HEX представляет собой компактную шестнадцатеричную запись того же триплета RGB. Вместо трех отдельных десятичных чисел цвет кодируется единой строкой в формате #RRGGBB . Символ решетки в начале строки указывает на тип нотации, а последующие шесть знаков разбиваются на три пары: первая пара отвечает за красный канал, вторая - за зеленый, третья - за синий.

В шестнадцатеричной системе счисления для записи чисел используются десять цифр от 0 до 9 и шесть латинских букв от A до F, которые соответствуют десятичным значениям от 10 до 15. Один байт информации (диапазон от 0 до 255) всегда укладывается ровно в два шестнадцатеричных разряда - от минимального 00 до максимального FF . Благодаря фиксированной длине строки такой формат легко копировать и передавать одним фрагментом текста.

Если в каждой из трех пар кода символы дублируются, запись допускает сокращение до трехсимвольного формата #RGB . При обработке такой строки каждый знак мысленно удваивается для восстановления полной шестизначной структуры:

  • Полный код чистого белого цвета #FFFFFF сворачивается до #FFF .
  • Яркий синий оттенок #0000FF записывается как #00F .
  • Насыщенный коралловый или оранжевый цвет с кодом #FF6600 сокращается до #F60 .
  • Код #F06543 сократить нельзя, так как внутри его пар находятся разные символы.

Цилиндрические координатные модели HSL и HSV

В отличие от аппаратно-ориентированного кубического пространства RGB, модели HSL и HSV (также обозначаемая как HSB) используют цилиндрическую систему координат. Они описывают цвет через привычные визуальные категории, которыми пользователь управляет непосредственно на палитре: угол цветового тона в градусах от 0 до 360 и процентные показатели от 0% до 100% для насыщенности и светлоты или яркости.

В веб-стандартах напрямую используется функциональная запись hsl(H, S%, L%) . Несмотря на внешнее сходство, между HSL и HSV существует математическое различие в том, как именно вычисляется верхний предел светлоты и яркости:

  • В модели HSL третья координата Lightness распределяет оттенок между абсолютно черным (0%) и абсолютно белым (100%). Чистый спектральный цвет без примесей находится строго посередине шкалы - при Lightness 50% и Saturation 100%. Если увеличить третий параметр до 100%, любой выбранный тон превратится в чистый белый цвет независимо от градуса и насыщенности.
  • В модели HSV (или HSB) третий параметр Value определяет интенсивность освещения цвета. При Value 0% оттенок всегда черный, но при Value 100% и максимальной насыщенности 100% получается именно чистый насыщенный пигмент, а не белый цвет. Чтобы получить белый цвет в системе HSV, необходимо при максимальной яркости Value 100% снизить насыщенность Saturation до 0%.

Сравнение структуры форматов и специфика их интерпретации

Существование нескольких форматов для одной и той же точки цветового пространства объясняется разницей между архитектурой рендеринг-движков и устройством человеческого восприятия. Аппаратная часть монитора работает исключительно со значениями интенсивности субпикселей. Для графической подсистемы и браузерного движка форматы RGB и HEX являются прямыми инструкциями, где уже заложены пропорции свечения каналов. Запись HSL при отрисовке страницы не может быть передана матрице напрямую - рендеринг-движок предварительно пересчитывает цилиндрические координаты в стандартный триплет RGB.

Для человека ситуация противоположная. Глядя на код #3B7A57 или rgb(59, 122, 87) , сложно сразу представить итоговый оттенок или вручную сделать его на 15% светлее, так как для этого придется пропорционально пересчитать все три канала. Запись того же цвета в виде hsl(147, 35%, 35%) читается без вычислений: угол 147° указывает на зеленый сектор спектра, а невысокие проценты насыщенности и светлоты говорят о том, что это приглушенный темно-зеленый тон. В таблице ниже приведено сопоставление всех рассмотренных систем записи на конкретных примерах.

Цветовая нотация Базовый синтаксис Диапазон значений по компонентам Пример: чистый красный Пример: приглушенный синий Особенности восприятия и обработки
HEX #RRGGBB или #RGB От 00 до FF для каждого из 3 каналов (шестнадцатеричная система) #FF0000 (или #F00 ) #4682B4 Компактная строка для быстрого копирования; напрямую соответствует байтовой структуре RGB, но сложна для визуальной оценки оттенка по коду
RGB rgb(R, G, B) От 0 до 255 для каждого из 3 каналов (десятичная система) rgb(255, 0, 0) rgb(70, 130, 180) Нативный формат для рендеринг-движков и дисплеев; позволяет оценить преобладающий канал, но неудобен для ручной корректировки светлоты
HSL hsl(H, S%, L%) От 0° до 360° для тона; от 0% до 100% для насыщенности и светлоты hsl(0, 100%, 50%) hsl(207, 44%, 49%) Понятная человеку структура: тон, насыщенность и светлота разделены на независимые оси; при рендеринге переводится движком в координаты RGB
HSV (HSB) Координаты H, S, V (или B) От 0° до 360° для тона; от 0% до 100% для насыщенности и яркости 0°, 100%, 100% 207°, 61%, 71% Прямое отражение координатной сетки прямоугольной палитры выбора цвета; используется в графических редакторах для интерактивной навигации по тонам

Альфа-канал и кодирование прозрачности в форматах RGBA, HSLA и HEX8

Стандартные трехканальные модели описывают исключительно хроматические характеристики оттенка, предполагая его полную светонепроницаемость. Для управления степенью видимости пикселя и его смешиванием с фоновыми слоями в структуру цветового кода вводится четвертый компонент - альфа-канал. Этот параметр определяет коэффициент непрозрачности (opacity) и позволяет формировать полупрозрачные перекрытия, плавные тени или стеклянные текстуры без изменения исходного цветового тона, насыщенности или яркости самого пигмента.

Математически альфа-канал выступает весовым коэффициентом при композитинге (наложении одного цвета на другой). Если значение коэффициента минимально, рендеринг-движок игнорирует цветовые координаты объекта, полностью пропуская сквозь него цвет нижележащего элемента. При промежуточных значениях итоговый цвет каждого пикселя на экране вычисляется путем пропорционального смешивания координат переднего плана и фона.

Функциональные нотации RGBA и HSLA

В функциональных записях расширение базовых цветовых моделей происходит за счет добавления четвертого аргумента, отделенного запятой или косой чертой в современном синтаксисе таблиц стилей. Форматы rgba() и hsla() сохраняют исходную логику первых трех координат, передавая уровень непрозрачности в завершающей позиции.

Значение альфа-канала в этих нотациях задается двумя способами:

  • Десятичной дробью в диапазоне от 0.0 до 1.0 , где 0.0 (или просто 0 ) означает абсолютную прозрачность и полную невидимость слоя, а 1.0 (или 1 ) соответствует полностью плотному, непрозрачному цвету. Дробные значения записываются через точку, например, 0.25 или .75 .
  • Процентным значением от 0% до 100% , где 0% делает оттенок полностью прозрачным, а 100% - абсолютно плотным. Процентная запись линейно соотносится с десятичной дробью: 35% эквивалентно коэффициенту 0.35 .

Например, стальной синий оттенок с плотностью 60% в десятичной канальной модели принимает вид rgba(70, 130, 180, 0.6) , а в цилиндрической системе координат записывается как hsla(207, 44%, 49%, 0.6) или hsla(207, 44%, 49%, 60%) .

Структура и расчет 8-символьного кода HEX8

Шестнадцатеричное представление цвета с поддержкой прозрачности (HEX8 или Hexa) расширяет классическую 6-символьную строку до шаблона #RRGGBBAA . Первые шесть знаков после решетки неизменно отвечают за интенсивность красного, зеленого и синего каналов, тогда как завершающая пара символов ( AA ) кодирует плотность альфа-канала в шестнадцатеричной системе счисления.

В отличие от функциональных нотаций, оперирующих долями единицы или процентами, формат HEX8 разбивает шкалу непрозрачности на 256 дискретных шагов - от 0 до 255 в десятичном исчислении, что соответствует диапазону от 00 до FF в шестнадцатеричной записи. При этом 00 задает нулевую видимость, а FF - максимальную плотность оттенка.

Чтобы перевести привычный процент непрозрачности в двухсимвольный шестнадцатеричный суффикс для HEX8, выполняют следующую последовательность действий:

  • Процентное значение переводят в десятичную дробь от 0 до 1 (делят на 100) и умножают на максимальное значение байта - 255.
  • Полученное число округляют до ближайшего целого по стандартным математическим правилам.
  • Целое десятичное число конвертируют в двузначное шестнадцатеричное представление (при значении меньше 16 перед символом дописывают ведущий ноль).

Так, для получения 50% непрозрачности вычисляется произведение 0.5 и 255, равное 127.5. После округления до 128 и перевода в шестнадцатеричную систему получается значение 80 (поскольку 8 × 16 + 0 = 128). Добавление этого суффикса к коду чистого красного цвета формирует запись #FF000080 .

В случаях, когда во всех четырех парах символов знаки дублируются, допустимо использование сокращенного 4-символьного формата #RGBA . Например, запись #FF0000CC (красный цвет с 80% непрозрачности, где 0.8 × 255 = 204, то есть CC ) сжимается до компактного вида #F00C .

Сравнение записи уровней непрозрачности

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

Уровень непрозрачности Коэффициент альфа-канала Десятичный байт (0-255) Суффикс HEX8 Пример в RGBA Пример в HSLA Пример в HEX8
100% (полная плотность) 1.0 255 FF rgba(70, 130, 180, 1) hsla(207, 44%, 49%, 1) #4682B4FF
80% 0.8 204 CC rgba(70, 130, 180, 0.8) hsla(207, 44%, 49%, 0.8) #4682B4CC
75% 0.75 191 BF rgba(70, 130, 180, 0.75) hsla(207, 44%, 49%, 0.75) #4682B4BF
50% (полупрозрачность) 0.5 128 80 rgba(70, 130, 180, 0.5) hsla(207, 44%, 49%, 0.5) #4682B480
25% 0.25 64 40 rgba(70, 130, 180, 0.25) hsla(207, 44%, 49%, 0.25) #4682B440
10% 0.1 26 1A rgba(70, 130, 180, 0.1) hsla(207, 44%, 49%, 0.1) #4682B41A
0% (полная прозрачность) 0.0 0 00 rgba(70, 130, 180, 0) hsla(207, 44%, 49%, 0) #4682B400

При выборе формата с альфа-каналом стоит учитывать пограничный случай: при нулевой непрозрачности ( 0.0 или 00 ) цвет полностью перестает отображаться, однако его хроматические координаты по-прежнему сохраняются в коде. Это имеет решающее значение при построении плавных градиентов: переход от плотного синего к полностью прозрачному синему ( #4682B400 ) дает чистую растяжку тона, тогда как переход к прозрачному черному ( #00000000 ) создаст грязный сероватый оттенок в промежуточной фазе смешивания.

Аппаратно-независимые, перцептивные и печатные цветовые пространства

Базовые веб-форматы кодирования цвета работают внутри стандартного пространства sRGB. Эта система координат привязана к физическим свойствам излучающих дисплеев, где формирование оттенка происходит за счет сложения световых потоков на темном фоне. За пределами экранов - в полиграфии, промышленном производстве и продвинутой колориметрии - применяются другие математические модели. Они опираются на физику поглощения света материальными носителями или на психофизиологические особенности человеческого зрения.

Субтрактивная модель CMYK и различия цветового охвата

Для подготовки макетов к физической печати используется субтрактивная модель CMYK. В отличие от дисплеев, которые излучают свет, бумажный лист свет отражает. Нанесенная на бумагу краска работает как фильтр: пигмент поглощает (вычитает) определенные длины волн из падающего белого света, а оставшаяся часть спектра отражается в глаз наблюдателя.

Координаты цвета в CMYK задаются четырьмя числовыми параметрами, каждый из которых выражается в процентах от 0% до 100%, что соответствует плотности нанесения растровой точки конкретного пигмента:

  • Первый канал отвечает за голубой пигмент, поглощающий красную часть спектра.
  • Второй канал регулирует пурпурную краску, вычитающую зеленые лучи.
  • Третий канал определяет долю желтого пигмента, задерживающего синий спектр.
  • Четвертый канал задает количество черного пигмента, обеспечивающего глубину теней и четкость контуров.

Теоретически смешивание трех базовых триадных красок в максимальной концентрации (по 100%) должно давать абсолютный черный цвет. На практике реальные полиграфические пигменты содержат примеси и не обладают идеальной спектральной чистотой. Их полное наложение формирует грязно-бурый оттенок и приводит к переувлажнению бумаги. Введение отдельного четвертого канала решает эту проблему: черный тонер или краска заменяет тройное наложение в темных участках, снижает общий расход красителей и предотвращает деформацию печатного листа.

При прямом переводе оттенков из экранного пространства sRGB в систему CMYK неизбежно возникает несовпадение цветового охвата (гамута). Излучающий пиксель монитора способен воспроизводить предельно чистые, яркие тона: неоновый зеленый, насыщенный электрический синий или ярко-пурпурный. Химические пигменты на бумаге не могут отразить больше света, чем на них падает, поэтому их цветовой охват значительно уже в области высоконасыщенных светлых тонов. При переводе экранного кода в печатный профиль такие оттенки принудительно смещаются к ближайшим доступным координатам внутри охвата печатной машины и визуально становятся более приглушенными.

Модель HWB: интуитивное смешивание с белым и черным

Модель HWB представляет собой альтернативную цилиндрическую систему координат внутри пространства sRGB, созданную для приближения цифрового выбора цвета к естественному процессу смешивания красок. Запись цвета опирается на три показателя:

  • Цветовой тон на круге в диапазоне от 0 до 360 градусов.
  • Доля белого цвета в процентах от 0% до 100%.
  • Доля черного цвета в процентах от 0% до 100%.

Такая структура избавляет от необходимости одновременно балансировать насыщенность и светлоту. Пользователь выбирает чистый спектральный тон, а затем осветляет его добавлением белил или затеняет добавлением черного. Важная математическая особенность модели - автоматическая нормализация: если сумма процентных значений белого и черного каналов превышает 100%, оба значения пропорционально масштабируются так, чтобы их сумма равнялась 100%. В этой точке хроматическая составляющая полностью исчезает, и результирующий цвет превращается в нейтральный оттенок серого, светлота которого определяется соотношением двух ахроматических каналов.

Перцептивно равномерные пространства CIE LAB и OKLCH

Цилиндрические и кубические модели на базе sRGB обладают фундаментальным математическим несовершенством: они аппаратно-зависимы и перцептивно неравномерны. Человеческий глаз по-разному чувствителен к волнам разной длины - в частности, он воспринимает зеленый и желтый спектр как значительно более яркий, чем синий или фиолетовый при одинаковой физической интенсивности излучения. Из-за этого в стандартных экранных моделях два цвета с одинаковым расчетным показателем светлоты (например, 50%) выглядят для человека совершенно разными по яркости: желтый кажется светлым, а синий - темным и плотным.

Для устранения этого искажения разработаны аппаратно-независимые и перцептивно равномерные цветовые пространства, такие как эталонная система CIE LAB и современное цилиндрическое пространство OKLCH. Их математическая сетка спроектирована с учетом нелинейности человеческого цветовосприятия: одинаковое численное изменение координат в любой части такого пространства воспринимается глазом как одинаковый по величине визуальный шаг.

Пространство CIE LAB описывает весь спектр видимого человеком излучения и не зависит от конкретного монитора или принтера. Координаты в нем разделены на перцептивную светлоту (от 0 до 100) и две хроматические оси: первая отвечает за баланс между зеленым и пурпурно-красным, вторая - между синим и желтым. Пространство OKLCH развивает этот принцип, переводя декартовы оси в более удобные полярные координаты: воспринимаемую светлоту, хроматичность (чистоту тона) и угол цветового тона. Использование OKLCH при проектировании палитр гарантирует, что при смене базового цветового угла оттенок сохранит точно такую же визуальную яркость и читаемость, что критически важно при построении предсказуемых дизайн-систем и таблиц стилей.

Сравнение архитектурных параметров и назначения различных цветовых пространств приведено в таблице ниже:

Цветовое пространство или модель Тип формирования цвета Базовые координаты и единицы измерения Перцептивная равномерность Основная сфера применения
sRGB (RGB, HEX, HSL) Аддитивный (излучение света) Интенсивность каналов (0-255) или тон (0-360°), насыщенность и светлота (0-100%) Отсутствует (зависит от тона) Стандартная веб-графика, экраны базового цветового охвата, цифровые интерфейсы
HWB Аддитивный (цилиндрическая проекция sRGB) Тон (0-360°), доля белого (0-100%), доля черного (0-100%) Отсутствует Интуитивный подбор оттенков и полутонов в таблицах стилей и графических редакторах
CMYK Субтрактивный (поглощение света пигментом) Плотность четырех растровых каналов в процентах (0-100%) Отсутствует (зависит от профиля бумаги и краски) Листовая и ролевая офсетная печать, цифровая полиграфия, упаковка
CIE LAB Аппаратно-независимый (психофизиологический эталон) Перцептивная светлота (0-100) и две хроматические оси со знаковыми значениями Высокая Промышленная колориметрия, профилирование оборудования, цветокоррекция
OKLCH Перцептивный цилиндрический Воспринимаемая светлота (0-100% или 0-1), хроматичность (от 0 и выше), тон (0-360°) Предельно высокая (без искажения синего спектра) Проектирование современных интерфейсов, построение равномерных градиентов и палитр широкого охвата

Математическая конвертация между цветовыми моделями

Любой оттенок, принадлежащий пространству sRGB, имеет однозначное соответствие между своими представлениями в форматах RGB, HEX и HSL. Поскольку все три записи описывают одну и ту же точку внутри цветового охвата, перевод значений между ними выполняется по строгим математическим формулам без потери информации (за исключением микропогрешностей при округлении дробных процентов в HSL).

Перевод из десятичного RGB в шестнадцатеричный HEX

Конвертация триплета RGB в формат HEX представляет собой перевод трех десятичных чисел (основание системы счисления - 10) в шестнадцатеричную систему (основание - 16). Каждый цветовой канал R, G и B обрабатывается изолированно по единому арифметическому правилу и всегда формирует строго два шестнадцатеричных разряда.

Пошаговый алгоритм расчета для одного канала выглядит следующим образом:

  • Исходное десятичное значение канала (от 0 до 255) делится на 16 нацело. Полученное целое частное определяет первый (старший) символ двузначного шестнадцатеричного кода.
  • Вычисляется целочисленный остаток от этого деления (исходное число минус произведение целого частного на 16). Этот остаток определяет второй (младший) символ кода.
  • Числа от 0 до 9 записываются соответствующими арабскими цифрами, а значениям от 10 до 15 присваиваются латинские буквы от A до F.

Для точного сопоставления чисел от 10 до 15 с буквенными индексами используется стандартная таблица соответствия шестнадцатеричной системы:

Десятичное значение (частное или остаток) 10 11 12 13 14 15
Шестнадцатеричный символ A B C D E F

На практике этот расчет легко проверить на конкретном примере. Допустим, требуется перевести в HEX оттенок со значениями R = 58, G = 165, B = 9:

  • Канал R (58): деление 58 на 16 дает целое частное 3 и остаток 10 (так как 3 × 16 = 48, а 58 − 48 = 10). Цифра 3 остается без изменений, а 10 заменяется на букву A. Результат канала - 3A.
  • Канал G (165): деление 165 на 16 дает целое частное 10 и остаток 5 (10 × 16 = 160, остаток 165 − 160 = 5). Частное 10 переводится в A, остаток равен 5. Результат канала - A5.
  • Канал B (9): деление 9 на 16 дает целое частное 0 и остаток 9. Ведущий ноль обязательно сохраняется для поддержания шестизначной структуры записи. Результат канала - 09.

Последовательная склейка трех полученных пар символов после знака решетки формирует итоговый код #3AA509. Обратный перевод из HEX в RGB выполняется путем умножения старшего разряда каждой пары на 16 и прибавления младшего разряда: например, для пары 3A расчет равен (3 × 16) + 10 = 58.

Геометрический пересчет координат из куба RGB в цилиндр HSL

Преобразование из декартовой системы координат RGB в цилиндрическую модель HSL требует перехода от интенсивности отдельных излучателей к угловым и относительным величинам. Для выполнения расчетов исходные значения каналов R, G и B сначала нормализуются - переводятся из диапазона 0-255 в дробный интервал от 0 до 1 путем деления каждого числа на 255:

R' = R / 255
G' = G / 255
B' = B / 255

Из трех полученных нормализованных чисел выбираются максимальное (Cmax) и минимальное (Cmin) значения, после чего вычисляется их разница - хроматическая дельта (Δ), характеризующая чистый размах цвета:

Cmax = max(R', G', B')
Cmin = min(R', G', B')
Δ = Cmax − Cmin

Вычисление светлоты

Параметр светлоты (L) рассчитывается как среднее арифметическое между самым ярким и самым темным нормализованными каналами. Это значение показывает положение оттенка на вертикальной оси цилиндра:

L = (Cmax + Cmin) / 2

Для перевода в привычный процентный формат итоговое число L умножается на 100.

Вычисление насыщенности

Насыщенность (S) зависит от хроматической дельты и текущего уровня светлоты. Если дельта равна нулю (Δ = 0), все три канала имеют одинаковую интенсивность (R' = G' = B'). Такой оттенок лежит на ахроматической оси оттенков серого, поэтому его насыщенность принимается равной 0%. Во всех остальных случаях применяется формула, компенсирующая сужение цветового объема к полюсам черного и белого:

S = Δ / (1 − |2 × L − 1|)

Вертикальные скобки обозначают математический модуль числа (абсолютное значение без учета знака минус). Полученный результат из диапазона 0-1 также умножается на 100 для записи в процентах.

Определение сектора цветового круга и расчет тона

Угол цветового тона (H) зависит от того, какой именно из трех каналов оказался максимальным (Cmax), что определяет базовый 60-градусный сектор на цветовом круге, и от соотношения двух оставшихся каналов. Ниже приведены условия выбора формулы для каждого случая:

Условие доминирования канала Математическая формула расчета угла H Геометрический смысл на цветовом круге
Δ = 0 (нет доминирующего канала) H = 0° Ахроматический цвет (белый, серый или черный), угол тона условно сбрасывается в ноль
Cmax = R' (максимум в красном) H = 60° × (((G' − B') / Δ) mod 6) Смещение от красного полюса (0° / 360°) в сторону желтого (при G' > B') или пурпурного (при G' < B')
Cmax = G' (максимум в зеленом) H = 60° × (((B' − R') / Δ) + 2) Центрирование вокруг зеленого сектора (120°, что соответствует сдвигу на два сектора по 60°)
Cmax = B' (максимум в синем) H = 60° × (((R' − G') / Δ) + 4) Центрирование вокруг синего сектора (240°, что соответствует сдвигу на четыре сектора по 60°)

Если при расчете без использования операции остатка от деления (mod 6) полученный угол H оказывается отрицательным (например, −30° при переходе из красного сектора в пурпурный), к результату прибавляется полный оборот круга (360°), чтобы привести значение к стандартному положительному диапазону от 0° до 360°.

Для проверки всей цепочки формул выполним перевод цвета со значениями R = 50, G = 150, B = 200 в систему HSL:

  • Нормализация каналов: R' = 50 / 255 ≈ 0.196; G' = 150 / 255 ≈ 0.588; B' = 200 / 255 ≈ 0.784.
  • Экстремумы и дельта: максимум приходится на синий канал Cmax = 0.784 (B'), минимум на красный Cmin = 0.196 (R'). Дельта Δ = 0.784 − 0.196 = 0.588.
  • Светлота (L): (0.784 + 0.196) / 2 = 0.980 / 2 = 0.49 (или 49%).
  • Насыщенность (S): так как Δ ≠ 0, вычисляем делитель: 1 − |2 × 0.49 − 1| = 1 − |0.98 − 1| = 1 − 0.02 = 0.98. Делим дельту на полученное число: S = 0.588 / 0.98 = 0.60 (или 60%).
  • Тон (H): поскольку максимальным является канал B', используем третью формулу: H = 60° × (((0.196 − 0.588) / 0.588) + 4) = 60° × ((−0.392 / 0.588) + 4) = 60° × (−0.667 + 4) = 60° × 3.333 ≈ 200°.

Таким образом, декартовы координаты RGB (50, 150, 200) математически преобразуются в цилиндрические координаты HSL (200°, 60%, 49%).

Применение полученных цветовых кодов в веб-разработке и дизайне

Переведенные в строковые и числовые форматы координаты оттенка переносятся напрямую в таблицы стилей CSS, векторную графику и дизайн-системы. Хотя браузерные движки в конечном счете приводят любой заданный формат к единому внутреннему представлению для отрисовки пикселей на экране, на этапе написания и поддержки кода выбор между HEX, RGB или HSL определяется конкретной инженерной задачей.

Синтаксис объявления цвета в CSS

В базовой верстке полученные цветовые значения присваиваются визуальным свойствам элементов: цвету текста ( color ), заливке фона ( background-color ), рамкам ( border-color ), теням ( box-shadow ) и контурам векторных фигур SVG ( fill и stroke ). Один и тот же оттенок (например, рассчитанный ранее сине-голубой тон) может быть записан в правилах стилей тремя взаимозаменяемыми способами:

.interface-card {
  /* Использование компактного шестнадцатеричного кода для текста */
  color: #3296c8;

  /* Функциональная нотация с альфа-каналом для полупрозрачного фона */
  background-color: rgba(50, 150, 200, 0.15);

  /* Цилиндрические координаты для задания цвета рамки */
  border-color: hsl(200, 60%, 49%);
}

В современном стандарте CSS (уровень спецификации Color Module Level 4) функции rgb() и hsl() поддерживают запись через пробелы без запятых, где альфа-канал отделяется косой чертой. Это позволяет унифицировать синтаксис без использования отдельных функций rgba() и hsla() :

.modern-box {
  background-color: rgb(50 150 200 / 80%);
  border-color: hsl(200deg 60% 49% / 0.5);
}

Организация палитры через CSS-переменные и дизайн-токены

В крупных проектах цветовые коды редко прописываются напрямую в селекторах каждого компонента. Вместо этого полученные при визуальном подборе значения выносятся на глобальный уровень документа (в псевдокласс :root ) в виде пользовательских свойств (CSS custom properties), которые выполняют роль дизайн-токенов.

Хранение цвета по отдельным каналам или компонентам внутри переменных позволяет динамически управлять прозрачностью и светлотой оттенка на стороне клиента без дублирования полных кодов в таблице стилей:

:root {
  /* Хранение базовых каналов RGB для гибкой подстановки прозрачности */
  --brand-rgb: 50, 150, 200;

  /* Разделение координат HSL для алгоритмического управления состояниями */
  --primary-h: 200;
  --primary-s: 60%;
  --primary-l: 49%;
}

.alert-banner {
  /* Подстановка RGB-триплета в функцию с нужным уровнем альфа-канала */
  background-color: rgba(var(--brand-rgb), 0.12);
  border: 1px solid rgba(var(--brand-rgb), 0.6);
}

При использовании препроцессоров SASS или SCSS исходный выбранный цвет достаточно сохранить в стандартном формате HEX или RGB. Математические функции препроцессора выполняют конвертацию в HSL на этапе компиляции и генерируют производные оттенки до отправки файла стилей в браузер:

$base-color: #3296c8;

.action-button {
  background-color: $base-color;

  &:hover {
    /* Осветление базового тона на 10% при компиляции SCSS в CSS */
    background-color: lighten($base-color, 10%);
  }

  &:active {
    /* Затемнение на 8% для состояния нажатия */
    background-color: darken($base-color, 8%);
  }
}

Критерии выбора цветового формата под задачу

Выбор конкретного представления цвета зависит от того, будет ли оттенок оставаться неизменным на протяжении работы приложения или его параметры потребуется модифицировать программно.

Сценарии для HEX

Шестнадцатеричная запись оптимальна для хранения и передачи статичных цветов, которые не подвергаются динамическим вычислениям в реальном времени. Основные области применения формата включают:

  • закрепление фиксированных констант в конфигурационных файлах тем, JSON-схемах дизайн-токенов и спецификациях брендбуков;
  • копирование и вставку значений между графическими редакторами и средой разработки за счет того, что строка из шести символов выделяется и переносится одним действием без риска потерять закрывающую скобку или запятую;
  • минимизацию объема кода в базовых таблицах стилей и встроенной векторной разметке SVG (особенно при возможности сокращения записи до трех символов вида #39c ).

Сценарии для RGB и RGBA

Декартово представление по трем каналам и функциональная запись с альфа-каналом востребованы там, где требуется программная обработка цвета или наложение слоев. Такой формат выбирают в следующих случаях:

  • динамическое управление прозрачностью фоновых подложек, модальных окон (оверлеев) и теней, когда цвет пигмента остается постоянным, а значение непрозрачности плавно меняется через анимацию или сценарии;
  • работа с графическим API (например, Canvas 2D или WebGL ), где буфер изображения представляет собой одномерный массив байтов, принимающий строго численные значения каналов Red, Green, Blue и Alpha в диапазоне от 0 до 255;
  • поканальная интерполяция цвета в скриптах при создании пользовательских градиентов, тепловых карт или визуализации данных в зависимости от численных показателей.

Сценарии для HSL

Цилиндрическая система координат предназначена для построения предсказуемых интерфейсных состояний и тематических палитр непосредственно в коде без обращения к графическому редактору. Формат HSL решает следующие задачи:

  • создание интерактивных состояний элементов управления (наведение курсора :hover , нажатие :active , фокус :focus ) за счет изменения исключительно третьего параметра - светлоты (Lightness) при сохранении базового цветового тона (Hue) и насыщенности (Saturation);
  • формирование неактивных или заблокированных состояний компонентов ( :disabled ) путем снижения параметра Saturation (приближение оттенка к нейтральному серому) без смещения самого цветового тона;
  • адаптация палитры под темную и светлую темы оформления, где базовая переменная угла Hue остается неизменной для сохранения узнаваемости бренда, а показатели насыщенности и светлоты корректируются через функцию calc() для устранения избыточного свечения на темном фоне.

Практический пример создания интерактивной кнопки на чистом CSS с использованием модели HSL демонстрирует, как один выбранный цвет превращается в полноценную систему состояний компонента:

.ui-button {
  --btn-h: 200;
  --btn-s: 60%;
  --btn-l: 49%;

  /* Базовое состояние кнопки */
  background-color: hsl(var(--btn-h), var(--btn-s), var(--btn-l));
  color: #ffffff;
}

.ui-button:hover {
  /* Уменьшение светлоты на 7% делает кнопку визуально глубже при наведении */
  background-color: hsl(var(--btn-h), var(--btn-s), calc(var(--btn-l) - 7%));
}

.ui-button:active {
  /* Уменьшение светлоты на 14% имитирует физическое вдавливание при клике */
  background-color: hsl(var(--btn-h), var(--btn-s), calc(var(--btn-l) - 14%));
}

.ui-button:disabled {
  /* Сброс насыщенности до 15% и повышение светлоты переводят кнопку в неактивный вид */
  background-color: hsl(var(--btn-h), 15%, 75%);
}

В таблице ниже сведены технические характеристики и прикладное назначение каждого цветового формата при разработке цифровых продуктов.

Формат Синтаксическая компактность Читаемость параметров человеком Удобство модификации в CSS Основная техническая задача
HEX / HEX8 Высокая (от 4 до 9 символов вместе с решеткой) Низкая (требуется мысленный перевод из шестнадцатеричной системы) Низкое (нельзя изменить отдельный канал через переменные CSS) Статичные цветовые константы, обмен кодами между программами, SVG-разметка
RGB / RGBA Средняя (функциональная строка со скобками и разделителями) Средняя (понятна интенсивность каналов, но трудно представить итоговый тон) Среднее (удобно менять альфа-канал при хранении триплета в переменной) Полупрозрачные подложки, тени, работа с попиксельными массивами в Canvas и скриптах
HSL / HSLA Средняя (требуется указание знаков процента для второго и третьего параметров) Высокая (тон, насыщенность и светлота считываются напрямую из чисел) Высокое (независимое управление светлотой и насыщенностью через вычисления) Генерация состояний наведения и нажатия, темизация интерфейсов, построение шкал оттенков

Визуальное восприятие, контрастность и подбор гармоничных сочетаний

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

Светлотный контраст и нормативы доступности WCAG

Читаемость текста и различимость элементов управления регулируются стандартом доступности веб-контента WCAG. В основе оценки лежит математическое отношение относительной яркости более светлого цвета к более темному. Коэффициент контрастности варьируется в диапазоне от 1:1 (полное совпадение оттенков, например белый текст на белом фоне) до 21:1 (абсолютный контраст черного и белого).

При выборе цветов для текстовых блоков и интерактивных узлов учитываются два основных квалификационных уровня стандарта WCAG:

  • Уровень AA (минимально достаточный контраст для большинства пользователей): требует соотношения не менее 4.5:1 для обычного наборного текста. Для крупного шрифта (от 18 пунктов обычного начертания или от 14 пунктов полужирного), а также для значимой графики, иконок и рамок полей ввода минимальный порог снижается до 3:1.
  • Уровень AAA (повышенный контраст для специализированных интерфейсов и длительного чтения): устанавливает требование не менее 7:1 для обычного текста и не менее 4.5:1 для крупных заголовков.

Важная особенность расчета относительной яркости заключается в разном вкладе цветовых каналов в итоговую воспринимаемую светлоту. Желтый, салатовый и голубой оттенки при 50% светлоте в модели HSL обладают высокой собственной яркостью, поэтому белый текст на такой подложке дает коэффициент контрастности около 1.2:1 - 2:1 и не проходит минимальный порог. Синий, фиолетовый и пурпурный тона при тех же числовых параметрах остаются оптически темными и обеспечивают высокую читаемость со светлым шрифтом.

Математическое построение цветовых гармоний по координатам круга

Когда базовый цвет выбран, подбор сочетающихся с ним дополнительных оттенков выполняется через геометрические соотношения на цветовом круге. Использование полярных координат позволяет находить гармоничные пары и группы путем простого арифметического смещения градуса тона или пропорционального изменения насыщенности и светлоты.

Монохроматическая схема

Монохроматическая палитра строится внутри одного выбранного сектора цветового круга. Угол тона остается неизменным, а все дополнительные оттенки формируются за счет сдвига показателей насыщенности и светлоты. Такой подход исключает визуальный конфликт тонов и применяется для создания строгих интерфейсных шкал: от почти белых фоновых подложек (светлота 92-97%, низкая насыщенность) через базовый цвет кнопок (светлота 45-55%) до глубоких темных оттенков для текста и границ (светлота 10-20%).

Комплементарное сочетание

Комплементарные (дополнительные) цвета располагаются в диаметрально противоположных точках круга. Для получения точной пары к базовому градусу тона прибавляется или из него вычитается 180°. Например, для чистого синего цвета с углом 240° комплементарным является желтый на отметке 60° (240° − 180°). Такое сочетание создает максимальный цветовой контраст. В дизайне интерфейсов комплементарную пару не используют в равных пропорциях на большой площади: один цвет назначается доминирующим и приглушается по насыщенности, а противоположный применяется точечно для акцентов, индикаторов уведомлений или целевых кнопок.

Аналоговая палитра

Аналоговая схема объединяет три и более оттенка, расположенных в соседних секторах цветового круга. Оптимальный угловой шаг между цветами составляет от 15° до 45° в обе стороны от базового тона. Если исходный цвет находится на отметке 160° (бирюзово-зеленый), то при шаге 30° соседними станут чисто зеленый (130°) и голубой (190°). Отсутствие резких перепадов по тону делает аналоговую группу спокойной для восприятия, что подходит для оформления многослойных иллюстраций, фоновых градиентов и тематических разделов без жесткого противопоставления элементов.

Триадная схема

Триада формируется тремя цветами, равноудаленными друг от друга на цветовом круге с шагом 120° (вершины вписанного равностороннего треугольника). Для базового оттенка с координатой 10° (красно-оранжевый) вторая вершина находится на 130° (зеленый), а третья - на 250° (сине-фиолетовый). Триадный расчет используется при проектировании дашбордов, диаграмм, графиков и систем статусов, где необходимо визуально разделить три независимые категории данных так, чтобы ни одна из них не терялась на фоне остальных.

В таблице приведены правила пересчета координат в модели HSL для получения гармоничных сочетаний на примере базового цвета hsl(210, 80%, 50%) (насыщенный синий).

Тип гармонии Правило изменения тона (H) Режим работы с S и L Пример производных координат от hsl(210, 80%, 50%) Прикладная задача
Монохроматическая Базовый угол фиксирован (ΔH = 0°) Ступенчатое изменение L (от 10% до 95%) и корректировка S hsl(210, 85%, 20%) , hsl(210, 60%, 75%) , hsl(210, 40%, 94%) Построение полной шкалы одного цвета для фонов, рамок и текста
Комплементарная Сдвиг на 180°: (H + 180°) mod 360° Сохранение высокой S у акцента, снижение S у фонового тона hsl(30, 80%, 50%) (противоположный оранжевый) Выделение главных интерактивных элементов на фоне базового цвета
Аналоговая Сдвиг на ±30° (допустимый шаг 15°-45°) Выравнивание светлоты L для плавного перехода между тонами hsl(180, 80%, 50%) и hsl(240, 80%, 50%) Сборка мягких градиентов, иллюстраций и родственных групп элементов
Триадная Сдвиг на +120° и +240° по кругу Снижение насыщенности S у двух дополнительных цветов до 40-60% hsl(330, 80%, 50%) и hsl(90, 80%, 50%) Цветовое кодирование графиков, диаграмм и разнородных категорий

При практическом использовании любой многоцветной схемы в графике и веб-интерфейсах соблюдается пропорциональный баланс площадей: около 60% пространства отдается нейтральному или слабонасыщенному фоновому оттенку, 30% занимает основной выбранный тон для структурных блоков и карточек, а оставшиеся 10% приходятся на контрастный комплементарный или триадный акцент.

Нужен другой
инструмент для изображений?

Откройте раздел инструментов для изображений и выберите подходящую задачу.

Все инструменты для изображений