【发布时间】:2016-10-06 12:20:48
【问题描述】:
所以我想知道,在 SVG 中,过滤器必须像这样应用:
<defs>
<filter id="foo">
<!-- let's pretend that it does something -->
</filter>
</defs>
<g filter="url(#foo)">
<!-- some graphic elements - or maybe instead of a <g> element it's a singular graphic -->
</g>
现在,这对文件来说是很多的额外权重,尤其是当图像具有仅使用一次的过滤器时。然而,在 JavaScript 或 PHP 中,类似这样的东西:
someFunctionWithCallback(foo);
function foo(bar) {
// do stuff
}
可以这样简化:
someFunctionWithCallback(function(bar) {
// do stuff
});
有没有办法在 SVG 中做同样的事情?例如。在我使用它的元素内声明一个过滤器,同时消除重量和存储它以备后用的需要?
【问题讨论】:
-
你可以把过滤器变成data URI
-
@RobertLongson 是的,我知道这些。不幸的是,它要么在这种情况下不起作用,要么我做错了,而且它在消除大部分文件方面并不是那么好,这是,嗯,主要的一点JS 匿名函数。
-
你知道CSS filters吗?
标签: xml svg svg-filters