Як конвертувати RGB у HWB?

Якщо потрібно перетворити RGB у HWB, можна скористатися формулою, яка дозволяє отримати відтінок (H), білизну (W) та чорність (B).

Раніше ми розглядали зворотне перетворення: Як конвертувати HWB у RGB?.

Формат RGB

Кольори у форматі RGB складаються з трьох компонентів:

Як перевести RGB у HWB вручну

  1. Знайдіть відтінок (H), використовуючи перетворення RGB → HSL.
  2. Обчисліть білизну (W) та чорність (B).

Приклад коду на JavaScript

function rgbToHwb(r, g, b) {
  r /= 255; g /= 255; b /= 255;
  
  let max = Math.max(r, g, b);
  let min = Math.min(r, g, b);
  let w = min;
  let bComp = 1 - max;

  let h = (max === min) ? 0 :
          (max === r) ? ((g - b) / (max - min)) * 60 + (g < b ? 360 : 0) :
          (max === g) ? ((b - r) / (max - min)) * 60 + 120 :
          ((r - g) / (max - min)) * 60 + 240;
  
  return [Math.round(h), Math.round(w * 100), Math.round(bComp * 100)];
}

console.log(rgbToHwb(51, 102, 255));