我这样做是否正确?
例如,我有一个RGB(165,165,165)
并将其转换为HSL(Get(0,0,64.7))。
实际上我解析了xml,并且我有两个参数lumMod = '60 000'和lumOff = '40 000'(我知道这意味着我必须将L分量乘以0.6,然后将L加到0.4中)
Okey new_l = 0.647*0.6 + 0.4 = 0.7882
现在我从HSL(0,0,78.8)转换回RGB(198, 198, 198)
其实我需要得到RGB(183,183,183)。因为这是正确的答案。哪里错了?
答案 0 :(得分:0)
经过一夜的调试,我已经成立了我的问题答案。
感谢来自this主题
的King Salemno图表正在执行的算法,以下步骤是 进行:
获取他们感兴趣的基色RGB(例如Accent 3)
转换为HSL
将L分量乘以lumMod
将lumOff添加到L组件
- 醇>
转换回RGB
同样的逻辑也适用于satMod,satOff,hueMod,& hueOff。
但对于rgb-color,它只有一个值适用于所有级别(如(255,255,255)或(123,123,123))我将lumMod更改为lumMod = lumMod - 0.04(+-0.005)
并执行相同操作lumoff参数。
所以,如果我有RGB(165,165,165)并将其转换为HSL(0,0,0.647)。
我改变HSL.L = HSL.L*(lumMod - 0.04) + (lumOff - 0.04) = 0.718
后
现在我从HSL(0,0,0.718)转换回RGB(183,183,183)
我不知道为什么它会像这样工作,但它有效。我试图找出它。