我想将一些颜色值从众所周知的 HSL 转换为鲜为人知的 HSLum 怎么做?
hsl(0, 1.0, 0.5) - rgb red is hslum(0, 1.0., 0.54)
hsl(120, 1.0, 0.5 - rgb green is hslum(0, 1.0, 0.80)
hsl(240, 1.0, 0.5) - rgb blue is hslum(0, 1.0, 0.44)
据我所知,亮度(不是亮度)是这样计算的:
Y = 0.2126 * R + 0.7152 * G + 0.0722 * B
我读了一些文章:Luminance (relative) , 21296247 , HSL and HSV , luma , Lightness , Munsell但没有找到解决方案?
据我所知,CIELab 1976 公式在Munsell附近:
1.16*(Y/Ymax)^1.16*(Y/Ymax)^(1.0/3.0)-0.16 where Y/Ymax > 0.01
或更好的插值/
1.16*(Y/Ymax)^(1.0/3.0)-0.16 where Y/Ymax > (6/29)^3
1.16*(841.0/108.0)*(Y/Ymax)+(4.0/29.0)-0.16 where Y/Ymax <= (6/29)^3
如何进行这样的转换?
- HSL -> HSLum
- HSLum -> HSL
- HSLum -> RGB
欢迎任何提示 - 算法建议。
这是一些做HSLum的工具。