从正常和变暗的颜色获得alpha

时间:2016-08-23 11:02:29

标签: colors less interpolation

给出

darkColor = darken(normalColor, alpha)

darkColornormalColor 已知alpha未知。

如何计算alpha

如果出现多个颜色元组(normalColordarkColor),我应该如何插入alpha?

1 个答案:

答案 0 :(得分:2)

根据Less文档,以下是darken()函数的定义方式:

  

减少HSL颜色空间中颜色的亮度绝对量。

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

SELECT
a.analysis_date
,SUM(a.rm_result_as_pct_of_nav) SumResult
FROM rpt.rm_Report_History a
WHERE a.criteria_Set = 'Daily' 
    AND a.ptf_id = '10039'
    AND a.stat_def_id=397
GROUP BY a.analysis_date

注意:

  • 计算是正常颜色的亮度 - 暗色的亮度,@normalColor: #AAAAAA; @darkColor: #6A6A6A; /* this is darken(@normalColor, 25%) */ #dummy{ percentage: lightness(@normalColor) - lightness(@darkColor); } 减少 亮度。
  • 输出是近似值,不准确。例如,在上述情况下,输出为25.09803922%而不是25%。我们也不能将输出值向下舍入,因为偏差可以是正的或负的。例如,如果深色为darken(= #919191),则计算出的输出为9.80392157%。
  • 此方法仅在深色 实际为正常颜色的暗色 时有效。也就是说,两种颜色的darken(@normalColor, 10%)hue应与saturation函数仅修改darken相同。