我试图使用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网站上,它也没有梯度。但是,从Dropbox下载SVG并在浏览器中查看它时,它具有梯度。
发布于 2015-01-21 16:30:00
您没有将梯度定义附加到snap中,只是绘图中<g>元素的内容和渐变在<defs>元素下。
https://stackoverflow.com/questions/28071265
复制相似问题