Пипетка цвета

Конвертер HSV в RGB

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

Ввод: HSV

Результат: RGB

rgb(230, 191, 138)

Все форматы

HEX

#E6BF8A

RGB

rgb(230, 191, 138)

HSL

hsl(35, 65%, 72%)

HSV

hsv(35, 40%, 90%)

CMYK

cmyk(0%, 17%, 40%, 10%)

Когда нужен перевод HSV в RGB

Палитры в графических редакторах и игровых движках часто показывают бегунки оттенка, насыщенности и яркости, потому что они соответствуют тому, как люди подбирают цвет. Но на выходе всё равно нужен RGB: CSS, файлы изображений, шейдеры и экраны работают с красным, зелёным и синим. Переводите HSV в RGB, когда копируете значение из палитры в код, когда строите градиент, меняя яркость от 0 до 100, или когда проверяете процедурную палитру. Оттенок вводите в градусах, насыщенность и яркость в процентах.

Где это пригодится

Как перевести HSV в RGB

HSV (другое название: HSB) вычисляет тон так же, как HSL, но две другие оси определяет иначе: яркость равна наибольшему каналу, V = max, а насыщенность S = Δ / max (для чёрного 0).

Поэтому чистый насыщенный цвет в HSV имеет V = 100%, а в HSL имеет L = 50%. Обратный перевод восстанавливает каналы через цветность C = V × S.

Пример расчёта

  1. C = V × S = 0.9 × 0.4 = 0.36
  2. X = C × (1 − |(H ÷ 60) mod 2 − 1|) = 0.36 × (1 − |(35 ÷ 60) mod 2 − 1|) = 0.21
  3. m = V − C = 0.9 − 0.36 = 0.54
  4. 0° ≤ H < 60°: (R′, G′, B′) = (C, X, 0) = (0.36, 0.21, 0)
  5. R = (R′ + m) × 255 = (0.36 + 0.54) × 255 = 230
  6. G = (G′ + m) × 255 = (0.21 + 0.54) × 255 = 191
  7. B = (B′ + m) × 255 = (0 + 0.54) × 255 = 138

hsv(35, 40%, 90%) = rgb(230, 191, 138)

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

Популярные цвета: HSV в RGB

ЦветHSVRGB
Красныйhsv(0, 100%, 100%)rgb(255, 0, 0)
Оранжевыйhsv(39, 100%, 100%)rgb(255, 165, 0)
Жёлтыйhsv(60, 100%, 100%)rgb(255, 255, 0)
Лаймhsv(120, 100%, 100%)rgb(0, 255, 0)
Зелёныйhsv(120, 100%, 50%)rgb(0, 128, 0)
Голубойhsv(180, 100%, 100%)rgb(0, 255, 255)
Бирюзовыйhsv(180, 100%, 50%)rgb(0, 128, 128)
Синийhsv(240, 100%, 100%)rgb(0, 0, 255)
Тёмно-синийhsv(240, 100%, 50%)rgb(0, 0, 128)
Фиолетовыйhsv(300, 100%, 50%)rgb(128, 0, 128)
Пурпурныйhsv(300, 100%, 100%)rgb(255, 0, 255)
Розовыйhsv(350, 25%, 100%)rgb(255, 192, 203)
Коричневыйhsv(0, 75%, 65%)rgb(165, 42, 42)
Серыйhsv(0, 0%, 50%)rgb(128, 128, 128)
Чёрныйhsv(0, 0%, 0%)rgb(0, 0, 0)
Белыйhsv(0, 0%, 100%)rgb(255, 255, 255)

Часто задаваемые вопросы

Почему яркость 100% не всегда даёт белый цвет?

Яркость задаёт наибольший канал, а не белизну. hsv(0 100% 100%) равен rgb(255 0 0), то есть чистому красному. Белый получается при яркости 100% и насыщенности 0%, а любая яркость при насыщенности 0% даёт серый.

Какие диапазоны ждут игровые движки и библиотеки?

Color.HSVToRGB в Unity и colorsys.hsv_to_rgb в Python принимают для всех трёх компонентов значения от 0 до 1, причём оттенок задаётся долей круга: 180 градусов превращаются в 0.5. Перед вызовом делите градусы на 360, а проценты на 100.

Чем HSV отличается от HSL?

Тон у них общий, но V в HSV означает яркость самого сильного канала (у чистого цвета V = 100%), а L в HSL ставит чистые цвета на 50%, посередине между чёрным и белым. Палитры графических редакторов обычно используют HSV, а CSS использует HSL.

Где используется HSV?

В палитрах графических редакторов (Photoshop, GIMP, Figma), в обработке изображений и компьютерном зрении (например, цветовые пороги в OpenCV), везде, где удобно отделять цветность от яркости.

Перевод точный?

Формулы математически точны, но отображаемые значения округляются до целых, поэтому при переводе туда-обратно канал может сместиться на ±1. Для попиксельной точности сохраняйте исходное значение.

Другие конвертеры цветов

Нужно определить цвет пикселя на картинке или скриншоте? Попробуйте бесплатную пипетку цвета →