如何从这个svg改变这个复杂的路径,填充上面的svg有没有填充的简单路径?

时间:2013-12-31 03:41:47

标签: javascript jquery svg raphael snap.svg

我有一些具有复杂/复合路径的svg文件。在Inkscape或Illustrator中使用压力笔绘制的这些路径在路径之间有微小的填充。在Illustrator中,您可以选择整个路径,然后将笔更改为基本笔(无压力敏感度),这会将路径更改为简单路径。我怎样才能用js实现这个目标?

我在这里有两种路径的例子:

   http://jsfiddle.net/KRKz9/3/ 

如何使用这个复杂的路径更改此svg,该路径已经填充到上面的svg,该路径具有使用js无填充的简单路径?

编辑:嗨@罗伯特。我有这样的话:

function makeSame() { 
var paths = maing.getElementsByTagName("path"); 
for (var i=0, max=paths.length; i < max; i++) { paths[i].style.stroke="none"; paths[i].style.fill="blue"; 
paths[i].style.stroke_width=2; 
} } 

和jsbin:jsbin.com/sovit/1/edit

我被困在这里,你能纠正这个吗?

编辑:谢谢@robert。我刚刚纠正了这个:

var paths = document.getElementsByTagName("path"); 

现在的问题是,重复的路径仍然存在: (这个jsfiddle示例使用上面的代码生成的svg代码,显示每行似乎有2个路径)

http://jsfiddle.net/Y35sV/2/

是否可以删除每一行的第二条路径?

1 个答案:

答案 0 :(得分:1)

或许这样的事情?

function makeSame() {

    var paths = document.getElementsByTagName("path");
    for (var i=0, max=paths.length; i < max; i++) {
        paths[i].style.stroke="none";
        paths[i].style.fill="#0000C6";
    }
}

这会转换路径,改变它们的填充和描边,使它们匹配。