TGViewer
Сохранёнки программиста Сохранёнки программиста @prog_stuff · 6.54K subscribers
Post #2996 990
Перевод HSL в RGB укладывается в четыре строки без единого if

Классическая реализация hslToRgb разбирает шесть секторов цветового круга ветвлениями и отдельно обрабатывает серый. В заметке о самодельном конвертере цветов приводится компактная запись: k(n) = (n + h/30) % 12, амплитуда a = s * min(l, 1-l) и функция f, которую зовут трижды: с 0, 8 и 4. Все три канала считаются одним выражением, а серый выпадает сам: при нулевой насыщенности a = 0, и f возвращает светлоту.

Формула не авторская: то же преобразование приводит образцом спецификация CSS Color 4, так что за краевые значения можно не волноваться. Заметка короткая, остального в ней немного: почему для браузерного инструмента без сборки автор отказался от npm-пакета color и как признаёт, что писал код с плотной помощью ИИ.

Сохраните, если держите свои утилиты для цвета и не хотите тянуть зависимость ради одной математики.
More from @prog_stuff
  1. Sep 20, 2026Как процессор предсказывает ветвления Псевдотранскрипт доклада объясняет тему с нуля. Конв…
  2. Sep 20, 2026Почему одни движки регулярных выражений зависают, а другие нет Обстоятельная статья Расса…
  3. Sep 19, 2026Как проверять изменения без риска для всего трафика Компактный разбор о снижении риска при…
  4. Sep 19, 2026Как собрать модель пиковой нагрузки из боевой телеметрии Обстоятельный гайд о замене выгру…
  5. Sep 18, 2026Как работает фильтр Блума и когда его неточность экономит память Фильтр Блума сообщает: «э…
  6. Sep 17, 2026Как работает однопошаговый отладчик Linux на ptrace Обстоятельная статья разбирает основу…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →