将SVG多边形点转换为路径?

时间:2013-04-26 21:46:11

标签: javascript svg raphael

我正在寻找一个可以转换为:

的函数
var points="270,328 270,376 342,376 342,368 358,368 358,320 314,320 298,336 278,336"

进入路径的SVG格式,我看到this question / answer,但是我收到错误:未捕获TypeError:无法读取未定义的属性'ownerSVGElement'。这是因为我将我的var点放入该函数中,这不是为此设计的,我认为它需要完整的xml或其他东西。

任何建议都很棒,特别是强制插画师导出路径而不是多边形!

谢谢!

1 个答案:

答案 0 :(得分:7)

var points="270,328 270,376 342,376 342,368 358,368 358,320 314,320 298,336 278,336"

var p = points.split(/\s+/);
var path = "";
for( var i = 0, len = p.length; i < len; i++ ){
    path += (i && "L" || "M") + p[i]
}

console.log( path )
=> M270,328L270,376L342,376L342,368L358,368L358,320L314,320L298,336L278,336