vtm_css_colcon
Version:
A CSS Colors Converter 🤪
24 lines (22 loc) • 650 B
JavaScript
function RgbToHsl(r, g, b) {
r /= 255;
g /= 255;
b /= 255;
let max = Math.max(r, g, b), min = Math.min(r, g, b);
let h, s, l = (max + min) / 2;
if (max === min) {
h = s = 0; // achromatic
} else {
let d = max - min;
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
switch (max) {
case r: h = (g - b) / d + (g < b ? 6 : 0); break;
case g: h = (b - r) / d + 2; break;
case b: h = (r - g) / d + 4; break;
default: h = 0;
}
h /= 6;
}
return `hsl(${h}, ${s}, ${l})`;
}
export default RgbToHsl;