理论上,对于每个可能的颜色更改 css过滤器函数(如grayscale、invert、opacity、saturate),sepia都存在可通过 svg 过滤器实现的等效转换feColorMatrix。实际上这里描述了几乎所有此类操作。
例如,棕褐色是以下内容的简写:
<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>
Run Code Online (Sandbox Code Playgroud)
虽然hue-rotate稍微复杂一些,但实际的定义是:
这几乎就是 Chromium 中的实现方式。
我的问题是 - 这些系数背后的精确数学是什么 - 为什么选择它们?它们代表一些无理数的近似值还是其他什么?
| 归档时间: |
|
| 查看次数: |
1169 次 |
| 最近记录: |