Colors 从正常和变暗颜色中获取alpha

Colors 从正常和变暗颜色中获取alpha,colors,less,interpolation,Colors,Less,Interpolation,给定 darkColor和normalColor是已知的,alpha是未知的 如何计算alpha 如果显示了多个颜色元组(normalColor,darkColor),我应该如何插值alpha?根据Less文档,函数的定义如下: 将HSL颜色空间中颜色的亮度降低绝对量 因此,给定正常颜色及其变暗版本,找到百分比的逻辑是找出正常颜色和深色的亮度,然后从前者中减去后者。Less有一个内置的函数来计算给定颜色的颜色,因此它可以直接使用 @normalColor:#AAAAAA; @深色:#6A6A;/

给定

darkColor
normalColor
已知的
alpha
是未知的

如何计算
alpha


如果显示了多个颜色元组(
normalColor
darkColor
),我应该如何插值alpha?

根据Less文档,函数的定义如下:

将HSL颜色空间中颜色的亮度降低绝对量

因此,给定正常颜色及其变暗版本,找到百分比的逻辑是找出正常颜色和深色的亮度,然后从前者中减去后者。Less有一个内置的函数来计算给定颜色的颜色,因此它可以直接使用

@normalColor:#AAAAAA;
@深色:#6A6A;/*这是深色的(@normalColor,25%)*/
#假人{
百分比:亮度(@normalColor)-亮度(@darkColor);
}
注意事项:

  • 计算为正常颜色的亮度-暗颜色的亮度随着
    变暗
    降低亮度
  • 输出为近似值,不准确。例如,在上述情况下,输出为25.09803922%,而不是25%。我们不能对输出值进行四舍五入,因为偏差可以是正的,也可以是负的。例如,如果暗颜色为
    919191
    (=
    暗(@normalColor,10%)
    ),则计算输出为9.80392157%
  • 此方法仅适用于暗颜色实际上是正常颜色的暗版本时。也就是说,两种颜色的
    色调
    饱和度
    应与
    变暗
    功能相同,只修改
    亮度
darkColor = darken(normalColor, alpha)