RGB转HSL
将RGB颜色元组转换为HSL格式。
- 使用RGB转HSL转换公式将颜色转换为适当的格式。
- 所有输入参数的范围为[0, 255]。
- 结果值的范围为H: [0, 360],S: [0, 100],L: [0, 100]。
const RGBToHSL = (r, g, b) => {
r /= 255;
g /= 255;
b /= 255;
const l = Math.max(r, g, b);
const s = l - Math.min(r, g, b);
const h = s
? l === r
? (g - b) / s
: l === g
? 2 + (b - r) / s
: 4 + (r - g) / s
: 0;
return [
60 * h < 0 ? 60 * h + 360 : 60 * h,
100 * (s ? (l <= 0.5 ? s / (2 * l - s) : s / (2 - (2 * l - s))) : 0),
(100 * (2 * l - s)) / 2,
];
};
RGBToHSL(45, 23, 11); // [21.17647, 60.71428, 10.98039]