Конвертер HSV в HEX
Преобразуйте HSV цветовые значения в HEX коды без необходимости самостоятельно писать формулы. Этот конвертер полезен, когда инструмент выбора цвета или графический инструмент отображает цвета в формате HSV, но ваши CSS, токены или конфигурационные файлы используют HEX.
Введите цвет в формате HSV, и вы сразу получите соответствующий HEX код. Вы можете интерактивно настроить оттенок, насыщенность и значение, а затем скопировать полученное HEX значение в свои стили или дизайн-систему.
На этой странице вы также найдете краткое объяснение HSV и HEX, четкое описание формулы преобразования, пошаговый пример, справочную таблицу и ответы на распространенные вопросы о совместном использовании этих форматов.
Что такое HSV
HSV обозначает Оттенок, Насыщенность и Значение. Он представляет цвета в терминах угла оттенка на цветовом круге, насколько интенсивен этот оттенок и насколько ярким выглядит цвет по сравнению с черным.
Оттенок записывается в градусах от 0 до 360. Насыщенность и значение — это проценты от 0% до 100%. Когда насыщенность низкая, цвета выглядят приглушенными и ближе к серому. Когда значение низкое, цвета становятся темнее и ближе к черному.
Такой формат делает HSV популярным выбором в инструментах выбора цвета и программном обеспечении для цифровой живописи. Он позволяет людям говорить о цветах в терминах их силы и яркости, вместо того чтобы думать о трех независимых каналах RGB.
Что такое HEX цветовой код
HEX цвет — это компактный способ записи RGB цвета с использованием шестнадцатеричной системы счисления. Стандартная форма — #RRGGBB, где каждая пара символов представляет красный, зеленый и синий каналы.
Каждая пара варьируется от 00 до FF. Значение, близкое к 00, означает, что канал вносит очень малую долю, в то время как значение, близкое к FF, означает, что канал работает на полную мощность. Например, #000000 — это черный, #FFFFFF — это белый, а #FFA500 — это яркий оранжевый.
Браузеры и инструменты разбирают HEX строку, делят ее на три пары, преобразуют каждую пару в десятичное число, а затем работают с результатом как с RGB. Таким образом, HEX — это просто короткая и читаемая оболочка вокруг RGB, которая хорошо вписывается в CSS и дизайн-токены.
Формула преобразования HSV в HEX
hsv(h, s, v) -> #RRGGBB
Дано:
h в [0, 360)
s в [0, 100]
v в [0, 100]
1) Преобразуйте HSV в RGB (промежуточный шаг):
a) Нормализуйте насыщенность и значение:
s' = s / 100
v' = v / 100
b) Вычислите хрома:
c = v' * s'
c) Вспомогательное значение:
x = c * (1 - |((h / 60) mod 2) - 1|)
d) Временная тройка на основе сектора оттенка:
если 0 <= h < 60 то (r1, g1, b1) = (c, x, 0)
иначе если 60 <= h < 120 то (r1, g1, b1) = (x, c, 0)
иначе если 120 <= h < 180 то (r1, g1, b1) = (0, c, x)
иначе если 180 <= h < 240 то (r1, g1, b1) = (0, x, c)
иначе если 240 <= h < 300 то (r1, g1, b1) = (x, 0, c)
иначе (r1, g1, b1) = (c, 0, x)
e) Добавьте смещение:
m = v' - c
r' = r1 + m
g' = g1 + m
b' = b1 + m
f) Масштабируйте до 0-255:
r = round(r' * 255)
g = round(g' * 255)
b = round(b' * 255)
2) Преобразуйте RGB в HEX:
RR = dec_to_hex(r)
GG = dec_to_hex(g)
BB = dec_to_hex(b)
dec_to_hex(x) = to_hex(x).padStart(2, "0")
3) Объедините части:
#RRGGBBНа практике конвертер сначала строит RGB представление цвета HSV, а затем переписывает каждый канал в виде двухзначной шестнадцатеричной строки. Визуальный цвет остается прежним; только текстовый формат меняется с HSV на HEX.
Пример для hsv(196, 59%, 76%)
1) Преобразуйте HSV в RGB, используя правила выше
2) Предположим, что округлённый результат RGB:
rgb(79, 163, 194)
3) Преобразуйте каждый канал в HEX:
79 -> 4F
163 -> A3
194 -> C2
4) Итоговый HEX:
#4FA3C2Как работает преобразование HSV в HEX шаг за шагом
Хотя алгоритм преобразования HSV в HEX на первый взгляд выглядит длинным, он всегда следует одной и той же схеме. Вы интерпретируете HSV как RGB цвет, а затем записываете этот RGB цвет в HEX нотации.
hsv(210, 57%, 24%)
-> rgb(r, g, b)
-> #RRGGBBВот упрощенный процесс для hsv(210, 57%, 24%).
- Шаг 1 - Преобразование HSV в RGB
Нормализуйте насыщенность и значение, вычислите хроматичность и вспомогательное значение, выберите временную тройку на основе сектора оттенка, затем добавьте смещение и масштабируйте в диапазон от 0 до 255.
s' = 57 / 100 v' = 24 / 100 rgb(26, 43, 60) после округления - Шаг 2 - Перевод RGB каналов в HEX
Преобразуйте каждый RGB канал в шестнадцатеричный формат и добавьте ведущий ноль, если это необходимо. Это гарантирует, что окончательный HEX код всегда будет состоять из шести цифр после символа решетки.
26 -> 1A 43 -> 2B 60 -> 3C - Шаг 3 - Объедините части в одну HEX строку
Сконкатенируйте три пары и добавьте
#в начале. Результат — это HEX представление оригинального цвета HSV.#1A2B3C
Та же схема работает для любого допустимого входа HSV, поэтому конвертер или утилита обычно более надежны, чем попытки пересчитать математику по памяти.
Выбор между HSV и HEX
HSV и HEX решают разные задачи. HSV удобен для интерактивного редактирования и исследования, в то время как HEX компактен и стабилен для хранения и обмена.
Когда HSV более практичен
- Инструменты выбора цвета и ползунки: оттенок, насыщенность и значение легко настраиваются с помощью простых элементов управления.
- Изучение вариаций: малые изменения в значении или насыщенности быстро создают более светлые, темные или более яркие версии базового цвета.
- Удобные для художников элементы управления: многие инструменты рисования и 3D приложения представляют цвета в HSV по этой причине.
Когда HEX лучше подходит
- Дизайн токены и палитры: короткие HEX строки хорошо работают в качестве окончательных значений для брендовых и нейтральных цветов.
- Копирование между инструментами: большинство редакторов и браузеров отображают цвета в HEX, поэтому вы можете копировать и вставлять значения без дополнительных шагов преобразования.
- Читаемая конфигурация: HEX коды легко выстраиваются в JSON, CSS и таблицах документации.
Резюме
Используйте HSV во время экспериментов и настройки цветов. Преобразуйте эти цвета в HEX, когда вам нужно компактное, стабильное представление для кода и дизайн-систем.
Лучшие практики для совместного использования HSV и HEX
Вам не нужно выбирать один цветовой формат для всего проекта. С помощью простого набора правил вы можете использовать HSV и HEX рядом друг с другом, не вызывая путаницы.
Отделите редактирование от хранения
- Используйте HSV для редактирования: настраивайте оттенок, насыщенность и значение в выборках и внутренних инструментах.
- Используйте HEX для токенов: храните окончательные цвета в HEX для CSS, документации и экспортируемых файлов дизайна.
Сочетайте с другими моделями при необходимости
- Преобразуйте через RGB или HSL: многие библиотеки уже предоставляют вспомогательные функции для преобразования HSV в RGB или HSV в HSL, которые можно связать с преобразованием в HEX.
- Используйте RGBA или HEX с альфа-каналом для прозрачности: базовые цвета могут храниться в HEX, в то время как наложения и тени используют RGBA или восьмизначный HEX с альфа-компонентом.
Сохраняйте систему предсказуемой
- Определите четкие обязанности: например, HSV в выборках, HEX в токенах и RGB там, где это требует графический API.
- Избегайте ручного пересчета: полагайтесь на конвертеры и утилиты, а не на редактирование значений HEX или HSV вручную.
С небольшим количеством структуры вы можете наслаждаться интуитивным редактированием HSV и при этом создать чистую цветовую систему на основе HEX в производстве.
Таблица преобразования HSV в HEX
Таблица ниже содержит выборку общих цветов, записанных как в HSV, так и в HEX. Значения округлены для удобства чтения, поэтому используйте конвертер в верхней части страницы, когда вам нужны точные числа.
| Описание | HSV | HEX |
|---|---|---|
| Белый | hsv(0, 0%, 100%) | #FFFFFF |
| Черный | hsv(0, 0%, 0%) | #000000 |
| Красный | hsv(0, 100%, 100%) | #FF0000 |
| Зеленый | hsv(120, 100%, 100%) | #00FF00 |
| Синий | hsv(240, 100%, 100%) | #0000FF |
| Желтый | hsv(60, 100%, 100%) | #FFFF00 |
| Циан | hsv(180, 100%, 100%) | #00FFFF |
| Пурпурный | hsv(300, 100%, 100%) | #FF00FF |
| Серый 1 | hsv(0, 0%, 7%) | #111111 |
| Серый 2 | hsv(0, 0%, 20%) | #333333 |
| Серый 3 | hsv(0, 0%, 33%) | #555555 |
| Серый 4 | hsv(0, 0%, 47%) | #777777 |
| Серый 5 | hsv(0, 0%, 60%) | #999999 |
| Серый 6 | hsv(0, 0%, 80%) | #CCCCCC |
| Оранжевый | hsv(39, 100%, 100%) | #FFA500 |
| Фиолетовый | hsv(300, 100%, 50%) | #800080 |
| Бирюзовый | hsv(180, 100%, 50%) | #008080 |
Для любой другой комбинации HSV вы можете полагаться на конвертер в верхней части страницы, который применяет стандартный алгоритм преобразования HSV в RGB в HEX для вычисления точных значений.
Часто задаваемые вопросы: HSV в HEX
- Почему преобразовывать HSV в HEX
HSV удобен для редактирования и выбора, но HEX — это распространенный формат для кода, стилей и экспортируемых палитр. Преобразование позволяет вам перейти от интуитивной модели редактирования к компактному формату хранения.
- Представляют ли HSV и HEX разные цвета
Нет. HEX — это просто другой способ записи того же RGB цвета, который вы получаете из значения HSV. Пока преобразование корректно, оба формата описывают один и тот же визуальный цвет.
- Меняется ли оттенок при преобразовании
Информация об оттенке сохраняется на этапе преобразования HSV в RGB. Когда вы смотрите на окончательную HEX строку, этот оттенок закодирован внутри RGB каналов, которые представляет значение HEX.
- Могу ли я вернуться из HEX в HSV
Да. Вы можете преобразовать HEX в RGB, а затем преобразовать RGB в HSV. За исключением небольших округлений, оригинальный цвет можно восстановить.
- HEX всегда лучше, чем HSV
Не в каждой ситуации. HEX отлично подходит в качестве окончательного формата хранения и обмена, в то время как HSV лучше для живых настроек и визуального исследования. Обычно оба формата используются вместе в одном рабочем процессе.