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

Преобразуйте rgb(r, g, b) значения в HSV без изменения формул или таблиц. Этот инструмент полезен, когда вы работаете с CSS, выбором цветов или системами дизайна, которые описывают цвета через оттенок, насыщенность и значение.

Введите цвет в формате RGB, и вы сразу увидите соответствующий тройной HSV. Затем вы сможете рассуждать о цвете с точки зрения угла оттенка, его интенсивности и яркости, вместо того чтобы думать о трех отдельных каналах.

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

Что такое RGB

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

Когда три канала смешиваются вместе, они создают пиксели, которые вы видите на экранах. Например, rgb(255, 255, 255) дает белый цвет, rgb(0, 0, 0) — черный, а rgb(255, 0, 0) — чистый красный.

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

Что такое HSV

HSV обозначает Оттенок, Насыщенность и Значение. Он организует цвет таким образом, который ближе к тому, как люди о нем говорят: какой это основной цвет, насколько сильно он ощущается и насколько ярким или темным он выглядит.

Оттенок измеряется в градусах от 0 до 360 и перемещается по цветовому кругу (например, красный около 0, зеленый около 120, синий около 240). Насыщенность и значение записываются в процентах от 0% до 100%.

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

Формула RGB в HSV

rgb(r, g, b) -> hsv(h, s, v)

1) Normalize channels to [0, 1]:
   r' = r / 255, g' = g / 255, b' = b / 255
2) Find max and min:
   max = max(r', g', b')
   min = min(r', g', b')
   delta = max - min
3) Compute value:
   v = max
4) Compute saturation:
   if max == 0 then s = 0
   else s = delta / max
5) Compute hue:
   if delta == 0 then h = 0
   else if max == r' then h = 60 * (((g' - b') / delta) mod 6)
   else if max == g' then h = 60 * (((b' - r') / delta) + 2)
   else if max == b' then h = 60 * (((r' - g') / delta) + 4)
6) Convert to final units:
   H = h          // degrees in [0, 360)
   S = s * 100    // percentage
   V = v * 100    // percentage

Алгоритм сначала масштабирует компоненты RGB в диапазон от 0 до 1, затем смотрит, насколько они разбросаны. Этот разброс контролирует насыщенность, в то время как самый высокий канал определяет значение. Оттенок зависит от того, какой канал доминирует и как другие каналы сравниваются с ним.

Пример для rgb(79, 163, 194)

1) Нормализация:
   r' = 79 / 255
   g' = 163 / 255
   b' = 194 / 255
2) Вычислите max, min, delta
3) Вычислите h, s, v по правилам выше
4) Округленный результат:
   hsv(196, 59%, 76%)

Как работает преобразование RGB в HSV шаг за шагом

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

rgb(26, 43, 60)
↓    ↓    ↓
[26, 43, 60] -> hsv(h, s, v)

Вот более подробный взгляд на отдельные этапы для rgb(26, 43, 60).

  • Шаг 1 — Нормализуйте каналы:
    r' = 26 / 255
    g' = 43 / 255
    b' = 60 / 255
  • Шаг 2 — Найдите максимум, минимум и дельту:

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

    max = max(r', g', b')
    min = min(r', g', b')
    delta = max - min
  • Шаг 3 — Вычислите H, S и V:

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

    hsv(210, 57%, 24%)

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

Где полезны RGB и HSV

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

Типичные применения для RGB

  • Программирование и анимации: три числовых канала легко манипулировать в JavaScript и CSS ключевых кадров.
  • Работа с низкоуровенной графикой: многие API рендеринга и форматы изображений работают непосредственно с RGB значениями.
  • Точный контроль: значения каналов от 0 до 255 обеспечивают тонкий контроль, когда вы генерируете или ограничиваете цвета в коде.

Типичные применения для HSV

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

Резюме

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

Практические советы по использованию HSV вместе с RGB

Многие проекты хранят цвета в одной нотации, но думают о них в другой. Обычно токены определяются в RGB или HEX, в то время как в инструментах дизайна и выборщиках используется HSV для изучения вариаций.

Создайте палитры на основе HSV

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

Перемещение между HSV и CSS нотациями

  • Преобразуйте и заморозьте токены: используйте конвертер, чтобы перейти от HSV к RGB или HSL, а затем храните окончательные значения в одном формате в вашем таблице стилей или токенах дизайна.
  • Обрабатывайте прозрачность отдельно: когда вам нужна непрозрачность, используйте rgba() или hsla() в CSS, но все равно выбирайте основной цвет в пространстве HSV.

Распространенные ошибки

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

С четкой стратегией, когда использовать RGB и когда думать в HSV, ваша цветовая система остается предсказуемой и легче поддерживается со временем.

Таблица преобразования RGB в HSV

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

Справочная таблица RGB в HSV
ОписаниеRGBHSV
Белыйrgb(255, 255, 255)hsv(0, 0%, 100%)
Черныйrgb(0, 0, 0)hsv(0, 0%, 0%)
Красныйrgb(255, 0, 0)hsv(0, 100%, 100%)
Зеленыйrgb(0, 255, 0)hsv(120, 100%, 100%)
Синийrgb(0, 0, 255)hsv(240, 100%, 100%)
Желтыйrgb(255, 255, 0)hsv(60, 100%, 100%)
Цианrgb(0, 255, 255)hsv(180, 100%, 100%)
Пурпурныйrgb(255, 0, 255)hsv(300, 100%, 100%)
Серый 1rgb(17, 17, 17)hsv(0, 0%, 7%)
Серый 2rgb(51, 51, 51)hsv(0, 0%, 20%)
Серый 3rgb(85, 85, 85)hsv(0, 0%, 33%)
Серый 4rgb(119, 119, 119)hsv(0, 0%, 47%)
Серый 5rgb(153, 153, 153)hsv(0, 0%, 60%)
Серый 6rgb(204, 204, 204)hsv(0, 0%, 80%)
Оранжевыйrgb(255, 165, 0)hsv(39, 100%, 100%)
Фиолетовыйrgb(128, 0, 128)hsv(300, 100%, 50%)
Бирюзовыйrgb(0, 128, 128)hsv(180, 100%, 50%)

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

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

  • Почему я должен преобразовывать RGB в HSV

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

  • Какие диапазоны используют H, S и V

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

  • Изменяет ли преобразование цвет

    Нет. RGB и HSV оба описывают одно и то же цветовое пространство. Допустимая тройка RGB и ее соответствующая HSV представляют один и тот же визуальный цвет; только нотация различается.

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

    Обе модели имеют оттенок и насыщенность, но третье значение не одно и то же. HSL использует яркость, которая сравнивает цвет как с черным, так и с белым, в то время как HSV использует значение, которое сравнивает цвет только с черным.

  • Могу ли я смешивать RGB, HSV и другие форматы в одном проекте

    Да. Общий подход заключается в том, чтобы выбрать один основной текстовый формат для токенов, такой как HEX или HSL, и конвертировать в HSV в инструментах или утилитах, когда вам нужен более интуитивный контроль. Главное — поддерживать систему последовательной и полагаться на конвертеры вместо ручных расчетов.

Связанные конвертеры: