色の値をよく知っている 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 式はマンセルに近い:
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を実行するツールを次に示します。