非SourceGraphic svg元素作为过滤器的源?
我们能否创建一个过滤器,使其创建一个临时svg元素并将其作为源图形?非SourceGraphic svg元素作为过滤器的源?,svg,Svg,我们能否创建一个过滤器,使其创建一个临时svg元素并将其作为源图形? 像这样: <svg version="1.1" width="700" height="700" > <defs> <filter id="f1" x="0" y="0" width="100%" height="100%"> <rect id="rect1" width="30" height="30" fill="#aaaaaa"/&
像这样:
<svg version="1.1" width="700" height="700" >
<defs>
<filter id="f1" x="0" y="0" width="100%" height="100%">
<rect id="rect1" width="30" height="30" fill="#aaaaaa"/>
<feComposite in="url(#rect1)" in2="SourceGraphic" operator="over" />
</filter>
</defs>
<circle cx="50" cy="50" r="50" fill="#ffffff" filter="url(#f1)" />
</svg>
它不起作用。您可以这样使用:
<svg version="1.1" width="700" height="700" >
<defs>
<filter id="f1" x="0" y="0" width="100%" height="100%">
<feImage xlink:href="#rect1"/>
<feComposite in2="SourceGraphic" operator="over" />
</filter>
<rect id="rect1" width="30" height="30" fill="blue"/>
</defs>
<circle cx="50" cy="50" r="50" fill="green" filter="url(#f1)" />
</svg>
看
然而,有些浏览器并不完全支持,例如Firefox和IE,但它在Chrome和Opera中运行良好。非常感谢兄弟!正是我想要的!