我正在尝试将SVG路径转换为Node中的点列表。我正在使用elementtree来解析SVG文件。
d是路径的定义,getPos只是将“ x,y”变成带有x和ay的对象,doLine只是将坐标添加到列表中。
d = path.get('d') words = d.split(' ') oldPos = undefined startPos = undefined for i in [0..words.length] word = words[i] if word == 'm' or word == 'M' oldPos = getPos(words[i + 1]) startPos = getPos(words[i + 1]) i += 1 else if word == 'l' or word == 'L' console.log('done nothing...') else if word == 'z' or word == 'Z' doLine(oldPos, startPos) else if word pos = getPos(word) doLine(oldPos, pos) oldPos = pos
目前,这似乎无法正常工作。
我知道我的路径永远不会有曲线,因此我不必为此担心。
我不确定SVG标准,所以如果有人可以帮助我,将非常感谢。
在壁虎中,路径是通过从头开始,读取一个非空白字符,然后使用一张表,该表列出了预期的自变量数目,这些自变量随后知道要读取这么多的数目(最多可以用一个逗号分隔它们)来解析。这将持续到字符串结尾。