Результат
У этой страницы вообще нет серверной части. Вставленная таблица разбирается кодом JavaScript внутри вашего же браузера, график рисуется на элементе canvas на вашей машине, файл экспорта собирается локально. Ничего не загружается, не хранится и не пишется ни в какие логи. После загрузки страницы можно отключить сеть — всё продолжит работать, и это самый простой способ проверить обещание самостоятельно.
Факты и границы применимости
| Оттенок (H) | Приводится по модулю 360 — принимает любое число |
|---|---|
| Насыщенность и светлота | Ограничиваются диапазоном от 0% до 100% |
| Диапазон результата | Каждый канал R/G/B — целое число от 0 до 255 |
| Формула | Стандартный алгоритм HSL → RGB через вспомогательные функции hue2rgb |
Когда этот метод вводит в заблуждение
- Оттенок вне диапазона 0–360 не считается ошибкой — он приводится по модулю 360, поскольку цветовой круг циклический.
- Насыщенность и светлота вне диапазона 0–100% автоматически ограничиваются этими значениями.
- Результат округляется до целых значений R/G/B — при повторном переводе обратно в HSL возможны отклонения на доли процента из-за этого округления.
- При насыщенности 0% результат всегда серый (R=G=B) независимо от указанного оттенка — это математическое свойство модели HSL, а не ошибка расчёта.
Как это считается
Оттенок приводится к диапазону 0–360° и делится на 360, насыщенность и светлота переводятся из процентов в доли от 0 до 1.
Вычисляются два вспомогательных значения на основе светлоты и насыщенности, задающие границы яркости для текущего оттенка.
Для каждого из трёх каналов (red, green, blue) берётся точка на цветовом круге со сдвигом на треть оборота относительно оттенка — так получаются три доли от 0 до 1.
Каждая доля переводится в диапазон 0–255 и округляется до целого — это и есть итоговые значения R, G и B.
Вопросы и ответы
Что если ввести оттенок больше 360?
Он автоматически приводится по модулю 360 — например, 400° равнозначно 40°, поскольку цветовой круг циклический.
Почему при насыщенности 0% всегда получается серый?
Это математическое свойство модели HSL: при нулевой насыщенности оттенок не влияет на результат, все три канала RGB становятся равны друг другу.
Результат совпадёт при обратном переводе в HSL?
Почти всегда, но округление RGB до целых чисел может дать отклонение в доли процента от исходных значений насыщенности и светлоты.
Мои данные куда-то отправляются?
Нет, весь расчёт выполняется в вашем браузере.