SVG中单个对象的多个过滤器

Mau*_*man 8 svg svg-filters

我想在我的圈子上放两个过滤器.(也许更多)

我试过做:

filter="url(#f1);url(#f2)"
Run Code Online (Sandbox Code Playgroud)

和:

filter="url(#f1,#f2)"
Run Code Online (Sandbox Code Playgroud)

和:

filter="url(#f1 #f2)"
Run Code Online (Sandbox Code Playgroud)

但它们都不起作用.我该如何处理这个问题?

小智 18

我知道这是一个非常古老的问题,但是对于引用此问题的人来说,您也可以用空格分隔过滤器函数 -filter="url(#f1) url(#f2)"应该可以

请参阅: https: //css-tricks.com/almanac/properties/f/filter/

  • 我不知道为什么这被否决了,它目前是一个可行的解决方案(在 Firefox 和 Chrome 中测试),前提是“f2”的输入是“SourceGraphic” (4认同)

Bad*_*Cat 17

您可以在一个过滤器中添加多个效果,但是如果要向上堆叠过滤器,请先将对象分组,然后将另一个过滤器应用于对象.

<g filter="url(#f2)">
<rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f1)"/>
</g>
Run Code Online (Sandbox Code Playgroud)


小智 6

以标识feColorMatrix开头,并将结果命名为currentGraphic.对于每个过滤器元素包/事务开始使用它作为'in',对于bundle的最终操作使用它作为'result'.下一个元素包在'in'='currentGraphic'等处拾取它.

  • 你能举个例子吗? (3认同)