色相-旋转滤波器背后的确切数学是什么

时间:2018-09-23 21:39:06

标签: svg svg-filters

理论上,每种可能的颜色更改CSS filter function(例如grayscaleinvertopacitysaturatesepia)都存在通过svg过滤器feColorMatrix可实现的等效转换。 实际上,几乎所有此类操作都在here中进行了描述。

例如,棕褐色是以下内容的简写:

<filter id="sepia">
  <feColorMatrix type="matrix"
             values="(0.393 + 0.607 * [1 - amount]) (0.769 - 0.769 * [1 - amount]) (0.189 - 0.189 * [1 - amount]) 0 0
                     (0.349 - 0.349 * [1 - amount]) (0.686 + 0.314 * [1 - amount]) (0.168 - 0.168 * [1 - amount]) 0 0
                     (0.272 - 0.272 * [1 - amount]) (0.534 - 0.534 * [1 - amount]) (0.131 + 0.869 * [1 - amount]) 0 0
                     0 0 0 1 0"/>
</filter> 

hue-rotate虽然稍微复杂一些,但实际定义是:

enter image description here

这与Chromium中的implemented差不多。

我的问题是-该系数背后的确切数学是什么-为什么选择了这些系数?它们代表一些无理数的近似值吗?

0 个答案:

没有答案