使用feBlend的SVG过滤器不适用于适用于Windows的Chrome 46

时间:2015-11-10 00:54:26

标签: javascript svg svg-filters

以下代码从上周开始突然停止工作。这适用于所有浏览器,希望在Windows上使用chrome。其他人是否遇到过类似的问题?

它不会更新颜色,但它适用于所有其他浏览器和操作系统。

<filter id="sample-test" x="0" y="0" width="100%" height="100%">
      <feFlood flood-color="#d9251d" class="color-test" result="tint"></feFlood>
      <feBlend in="tint" in2="SourceGraphic" mode="multiply" result="multiply"></feBlend>
    </filter>

1 个答案:

答案 0 :(得分:1)

这是Chrome 46(#549440)中一个已知的新错误,它已被修复。解决方法是:

<filter id="sample-test" x="0" y="0" width="100%" height="100%">
      <feFlood flood-color="#d9251d" class="color-test" result="tint"></feFlood>
      <feComposite operator="arithmetic" in="tint" in2="SourceGraphic" k1="1" result="multiply"/>
    </filter>

使用feComposite的乘法功能。这显然是一个不同的代码路径,没有被打破。