Jeśli trzeba przekształcić RGB na HWB, można skorzystać z formuły, która pozwala uzyskać odcień (H), biel (W) i czerń (B).
Wcześniej rozważaliśmy odwrotne przekształcenie: Jak skonwertować HWB na RGB?.
Format RGB
Kolory w formacie RGB składają się z trzech komponentów:
- R (Red, czerwony) — od 0 do 255
- G (Green, zielony) — od 0 do 255
- B (Blue, niebieski) — od 0 do 255
Jak ręcznie przekształcić RGB na HWB
- Znajdź odcień (H), używając przekształcenia RGB → HSL.
- Oblicz biel (W) i czerń (B).
Przykład kodu w 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));