2015-11-10 34 views
0

下面的代码从上周突然停止工作。这适用于所有浏览器,希望在Windows上使用chrome。其他人有没有遇到过类似的问题?与FeBlend的SVG过滤器乘法不适用于Chrome 46的Windows

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

<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

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

<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的乘法能力。这显然是一个不被破坏的不同的代码路径。

+0

非常感谢您抽出时间和回答 – kobe

+1

您也可以使用feColorMatrix直接着色。没有必要使用feFlood –

相关问题