我正在尝试使用Snap.svg使用Snap.svg load
函数导入现有SVG。但是,它可以工作,原始SVG文件中的任何渐变都被删除,它们的区域只是填充为白色。这是预期的行为,还是我错过了什么?
注意 - SVG是在Inkscape中创建的。使用<embed>
或<object>
。
当我使用<embed src="robot.svg"/>
时,它会正常显示,就像这样
http://postimg.org/image/pwe9zute3/
然而,当我使用
时<script>
var s = Snap("24in","12in");
Snap.load("robot.svg", function (f) {
var g = f.select("g");
s.append(g);
});
</script>
它像这样加载 http://postimg.org/image/5u0woiw7n/
如果有人想检查它,下面是一个下载SVG的链接。
https://www.dropbox.com/s/bdtujg1vr2dp6f4/robot.svg?dl=0
有趣的提示 - 在保管箱网站上显示为预览时,它也没有渐变。但是,从Dropbox下载SVG并在浏览器中查看它,它具有渐变。
答案 0 :(得分:3)
您不会将渐变定义附加到捕捉中,只是图形中<g>
元素的内容和渐变位于<defs>
元素下。