HSL 值在传递给系统之前会转换为十六进制 RGB 值。由设备决定将“设备色域”(可显示的颜色范围)之外的任何生成的 RGB 值修剪为可显示的值。RGB 值以十六进制表示。这是浏览器将 HSL 值转换为 RGB 值的指定算法。标准未指定舍入行为 - 并且有多种舍入方法,因为 C 或 C++ 中似乎没有内置舍入函数。
HOW TO RETURN hsl.to.rgb(h, s, l):
SELECT:
l<=0.5: PUT l*(s+1) IN m2
ELSE: PUT l+s-l*s IN m2
PUT l*2-m2 IN m1
PUT hue.to.rgb(m1, m2, h+1/3) IN r
PUT hue.to.rgb(m1, m2, h ) IN g
PUT hue.to.rgb(m1, m2, h-1/3) IN b
RETURN (r, g, b)
Run Code Online (Sandbox Code Playgroud)
换句话说,您应该能够在 HSLA 中表示与使用 HSLA 小数值在 RGB 中表示完全相同的颜色范围。