Як конвертувати HWB у RGB?
CSS, Веб-розробка ·Кольори у форматі HWB не часто використовуються у веб-дизайні та програмуванні. Але іноді потрібно перевести їх у RGB. Розглянемо, як це зробити.
Формат HWB
HWB-код складається з трьох компонентів:
- H (Hue, відтінок) — кут на кольоровому колі (0–360°)
 - W (Whiteness, білизна або білість) — від 0 до 100%, вказує, скільки білого додається
 - B (Blackness, чорність) — від 0 до 100%, вказує, скільки чорного додається
 
Як перевести HWB у RGB вручну
- Перетворіть відтінок (H) у базовий RGB.
 - Накладіть білизну/білість (W) та чорність (B).
 
Приклад коду на JavaScript
function hwbToRgb(h, w, b) {
  if (w + b > 1) throw new Error("Білість і чорнота мають складати щонайбільше 100%");
  
  let c = 1 - b;
  let x = (1 - Math.abs((h / 60) % 2 - 1));
  let [r, g, bl] = (h < 60) ? [c, x, 0] :
                   (h < 120) ? [x, c, 0] :
                   (h < 180) ? [0, c, x] :
                   (h < 240) ? [0, x, c] :
                   (h < 300) ? [x, 0, c] : [c, 0, x];
  
  r = r * (1 - w) + w;
  g = g * (1 - w) + w;
  bl = bl * (1 - w) + w;
  
  return [Math.round(r * 255), Math.round(g * 255), Math.round(bl * 255)];
}
Ця функція приймає значення HWB та повертає RGB у діапазоні [0-255].