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
),则计算输出为9.80392157%暗(@normalColor,10%)
- 此方法仅适用于暗颜色实际上是正常颜色的暗版本时。也就是说,两种颜色的
和色调
应与饱和度
功能相同,只修改变暗
亮度
darkColor = darken(normalColor, alpha)