Конвертер HSVA в HEXA
Преобразуйте hsva(h, s, v, a) цвета в HEXA коды без ручных вычислений. Этот конвертер полезен, когда цвета описаны в HSVA в ваших выборках или помощниках, но вы хотите сохранить конечные токены в формате #RRGGBBAA.
Введите цвет в формате HSVA, и вы мгновенно получите соответствующую строку HEXA. Вы можете скопировать это значение в токены темы, конфигурации или заметки.
На этой странице вы также увидите краткий обзор HSVA и HEXA, четкое описание шагов преобразования, пример, небольшую справочную таблицу и ответы на часто задаваемые вопросы о том, когда каждый формат подходит лучше всего.
Что такое HSVA
HSVA — это модель HSV с альфа-каналом. Она может быть записана как hsva(h, s, v, a), где h — это оттенок в градусах, s — насыщенность в процентах, v — значение в процентах, а a — непрозрачность.
Оттенок варьируется от 0 до 360, насыщенность и значение находятся в диапазоне от 0% до 100%, а альфа — это дробь от 0 (полностью прозрачный) до 1 (полностью непрозрачный).
HSVA популярен в редакторах и выборках цветов, потому что оттенок, насыщенность, яркость и прозрачность представлены в виде простых ползунков, которые естественно воспринимаются при исследовании и настройке цветов.
Что такое HEXA цветовой код
Значение HEXA — это восьмизначный HEX цвет с дополнительной парой альфа. Общая форма — #RRGGBBAA, где RR, GG, BB и AA описывают красный, зеленый, синий и альфа-каналы.
Каждая пара — это число в шестнадцатеричном формате от 00 до FF. Первые три пары ведут себя как обычный код #RRGGBB, в то время как последняя устанавливает непрозрачность: 00 для полностью прозрачного и FF для полностью непрозрачного, с промежуточными значениями.
Когда браузер считывает строку HEXA, он преобразует каждую пару в десятичное значение и затем обрабатывает результаты как RGBA каналы. Это делает HEXA компактным форматом для цветов с прозрачностью, который хорошо вписывается в токены и конфигурации.
Формула преобразования HSVA в HEXA
hsva(h, s, v, a) -> #RRGGBBAA
Given:
h in [0, 360)
s in [0, 100]
v in [0, 100]
a in [0, 1]
1) Clamp inputs:
h_c = h
s_c = clamp(s, 0, 100)
v_c = clamp(v, 0, 100)
a_c = clamp(a, 0, 1)
2) Normalize saturation and value:
s' = s_c / 100
v' = v_c / 100
3) Compute chroma:
c = v' * s'
4) Helper value:
x = c * (1 - |((h_c / 60) mod 2) - 1|)
5) Temporary rgb triple in [0, c]:
if 0 <= h_c < 60 then (r1, g1, b1) = (c, x, 0)
else if 60 <= h_c < 120 then (r1, g1, b1) = (x, c, 0)
else if 120 <= h_c < 180 then (r1, g1, b1) = (0, c, x)
else if 180 <= h_c < 240 then (r1, g1, b1) = (0, x, c)
else if 240 <= h_c < 300 then (r1, g1, b1) = (x, 0, c)
else (r1, g1, b1) = (c, 0, x)
6) Add the value based offset:
m = v' - c
r' = r1 + m
g' = g1 + m
b' = b1 + m
7) Scale to integer RGB:
r = round(r' * 255)
g = round(g' * 255)
b = round(b' * 255)
8) Convert channels to HEX:
RR = dec_to_hex(clamp(r, 0, 255))
GG = dec_to_hex(clamp(g, 0, 255))
BB = dec_to_hex(clamp(b, 0, 255))
9) Convert alpha to HEX:
A_dec = round(a_c * 255)
AA = dec_to_hex(clamp(A_dec, 0, 255))
10) Join parts:
#RRGGBBAA
Helpers:
dec_to_hex(x) = to_hex(x).padStart(2, "0")
clamp(x, min, max) = min if x < min, max if x > max, else xНа практике конвертер сначала восстанавливает RGB цвет из HSVA, затем переписывает все четыре канала как шестнадцатеричные пары из двух цифр. Доля альфа умножается на 255, округляется и превращается в финальную пару AA.
Пример для hsva(196, 59%, 76%, 0.8)
1) Преобразование HSVA в RGB:
hsv(196, 59%, 76%) -> rgb(79, 163, 194) (округлено)
2) Преобразование RGB каналов в HEX:
79 -> 4F
163 -> A3
194 -> C2
3) Преобразование альфа:
A_dec = round(0.8 * 255) = 204
204 -> CC
4) Итоговый HEXA:
#4FA3C2CCКак работает преобразование HSVA в HEXA шаг за шагом
Преобразование HSVA в HEXA всегда следует одному и тому же пути: выразите цвет как RGB, преобразуйте числа в шестнадцатеричные пары и оставьте альфа как отдельный канал, выраженный в последней паре.
hsva(210, 57%, 24%, 0.5)
-> hsv(210, 57%, 24%)
-> rgb(r, g, b)
-> #RRGGBBAAНиже приведен компактный набросок для hsva(210, 57%, 24%, 0.5).
- Шаг 1 - Нормализуйте насыщенность и значение
Преобразуйте процентные значения во дроби и вычислите хроматичность, которая показывает, насколько цвет удаляется от нейтрального серого для выбранной яркости.
s' = 57 / 100 v' = 24 / 100 c = v' * s' - Шаг 2 - Выберите сектор оттенка и временную тройку
Разделите оттенок на 60, чтобы найти сектор на цветовом круге, затем выберите одну из временных троек, таких как
(c, x, 0)или(0, x, c). Это устанавливает относительную долю красного, зеленого и синего до добавления окончательного смещения.h = 210 h / 60 is between 3 and 4 temporary triple uses (0, x, c) ... -> rgb(26, 43, 60) (rounded) - Шаг 3 - Добавьте смещение, масштабируйте и добавьте альфа
Добавьте смещение
m, чтобы самый яркий канал соответствовал запрашиваемому значению, масштабируйте каналы до диапазона от0до255, преобразуйте их в шестнадцатеричные пары и закодируйте ту же альфу в финальной пареAA.#1A2B3C80
Эти шаги работают для любого допустимого цвета HSVA, поэтому конвертер или вспомогательная функция — это хороший вариант вместо того, чтобы повторять последовательность вручную для каждого нового значения.
Выбор между HSVA и HEXA
HSVA и HEXA оба описывают цвет с прозрачностью, но делают это по-разному. HSVA сосредоточен на оттенке и интуитивных ползунках, в то время как HEXA компактен и основан на RGB числах.
Когда HSVA лучше подходит
- Интерактивные редакторы и элементы управления: ползунки оттенка, насыщенности, значения и альфа ощущаются естественно, когда вы исследуете и настраиваете цвета.
- Процедурные наборы цветов: удобно создавать более светлые, темные или более яркие варианты, изменяя насыщенность и значение, сохраняя при этом стабильный оттенок.
- Инструменты, ориентированные на дизайн: HSVA соответствует тому, как люди обычно описывают яркость и насыщенность цвета.
Когда HEXA более практичен
- Дизайн токены и файлы тем: короткие
#RRGGBBAAстроки легко хранить в JSON, форматах конфигурации и документации. - Совместимость с экспортом дизайна: многие редакторы могут напрямую выводить HEX коды с альфа, которые вы можете сохранить как единственный источник правды.
- Статические палитры: HEXA хорошо работает, когда вы собираете длинные списки брендовых и семантических цветов.
Резюме
Используйте HSVA, когда люди настраивают цвета вручную, и преобразуйте их в HEXA, когда вам нужны компактные, удобные для обмена токены для хранения и повторного использования.
Лучшие практики использования HSVA и HEXA вместе
Обычно в одном проекте используются HSVA и HEXA, если вы решите, какой формат используется для редактирования, а какой — для хранения.
Разделите роли редактирования и хранения
- Используйте HSVA в инструментах и выборках: внутренние интерфейсы могут позволить пользователям перемещать ползунки оттенка, насыщенности, значения и альфа, а затем преобразовывать результат при сохранении.
- Используйте HEXA в токенах: храните брендовые, семантические и цветовые темы как
#RRGGBBAAстроки в вашем источнике правды дизайна.
Сочетайте с другими цветовыми моделями
- Преобразуйте через RGB: переход между HSVA, HEXA, RGBA и HSLA обычно проходит через RGB математику, которую поддерживают большинство библиотек.
- Ограничивайте значения осторожно: держите оттенок, насыщенность, значение и альфа в допустимых диапазонах, когда вы генерируете или анимируете цвета.
Сохраняйте систему предсказуемой
- Документируйте, где находятся форматы: опишите, где используется HSVA (инструменты) и где хранится HEXA (токены), чтобы будущие изменения оставались последовательными.
- Используйте конвертеры вместо ручных правок: вспомогательные функции и скрипты уменьшают ошибки копирования и вставки и поддерживают синхронизацию всех представлений.
С четким разделением между интерактивными моделями и форматами хранения HSVA и HEXA могут дополнять друг друга в одном коде без трения.
Таблица преобразования HSVA в HEXA
В таблице ниже перечислены несколько знакомых HSVA цветов с прозрачностью и их версии HEXA. Значения округлены для ясности, поэтому используйте конвертер в верхней части страницы, когда вам нужны точные числа.
| Описание | HSVA | HEXA |
|---|---|---|
| Белый 50% | hsva(0, 0%, 100%, 0.5) | #FFFFFF80 |
| Черный 50% | hsva(0, 0%, 0%, 0.5) | #00000080 |
| Красный 80% | hsva(0, 100%, 100%, 0.8) | #FF0000CC |
| Зеленый 40% | hsva(120, 100%, 100%, 0.4) | #00FF0066 |
| Синий 30% | hsva(240, 100%, 100%, 0.3) | #0000FF4D |
| Желтый 60% | hsva(60, 100%, 100%, 0.6) | #FFFF0099 |
| Циан 70% | hsva(180, 100%, 100%, 0.7) | #00FFFFB3 |
| Пурпурный 90% | hsva(300, 100%, 100%, 0.9) | #FF00FFE6 |
| Наложение серого | hsva(0, 0%, 7%, 0.5) | #11111180 |
| Мягкий серый | hsva(0, 0%, 20%, 0.5) | #33333380 |
| Граница панели | hsva(0, 0%, 33%, 0.5) | #55555580 |
| Акцентный оранжевый 70% | hsva(39, 100%, 100%, 0.7) | #FFA500B3 |
| Пурпурное наложение | hsva(300, 100%, 50%, 0.5) | #80008080 |
| Бирюзовое наложение | hsva(180, 100%, 50%, 0.5) | #00808080 |
Для любой другой комбинации HSVA вы можете использовать конвертер выше, чтобы вычислить точную строку HEXA с тем же стандартным алгоритмом.
Часто задаваемые вопросы: HSVA в HEXA
- Почему преобразовывать HSVA в HEXA
HSVA отлично подходит для редактирования цветов с помощью ползунков, но многие руководства по стилю и наборы токенов предпочитают короткие строки на основе HEX. Преобразование позволяет вам сохранять интерактивные элементы управления в HSVA, сохраняя цвета в формате HEXA.
- Изменяет ли преобразование, как выглядит цвет
Нет. Правильно вычисленный код HEXA представляет тот же цвет и прозрачность, что и оригинальное значение HSVA, за исключением небольшого округления числовых каналов.
- Какие диапазоны используются для H, S, V и A в HSVA
Оттенок измеряется в градусах от
0до360, насыщенность и значение — в процентах от0%до100%, а альфа — это число от0до1. - Могу ли я преобразовать HEXA обратно в HSVA
Да. Вы можете декодировать HEX пары в RGB и альфа, выполнить преобразование RGB в HSV и повторно использовать компонент альфа для восстановления HSVA.
- Должны ли токены храниться как HSVA или HEXA
Это зависит от вашего рабочего процесса. Некоторые команды хранят значения HSVA в спецификациях темы и генерируют коды HEXA, другие хранят HEXA как источник правды и показывают HSVA только в инструментах. Главное — выбрать один основной формат и автоматизировать преобразование в другой.
Связанные конвертеры:
Конвертер HEXA в RGBA
Мгновенный расчет hexa в rgbaКонвертер HEXA в HSLA
Мгновенный расчет hexa в hslaКонвертер HEXA в HSVA
Мгновенный расчет hexa в hsvaКонвертер RGBA в HSVA
Мгновенный расчет rgba в hsvaКонвертер HSVA в RGBA
Мгновенный расчет hsva в rgbaКонвертер HSVA в HSLA
Мгновенный расчет hsva в hsla