解析 SVG 路径元素中的 d 属性

zea*_*uss 5 javascript svg parsing path fabricjs

我正在尝试解析SVG Path元素中的d属性,到目前为止我发现fabric.js可以解析SVG,但直到现在我仍然不知道如何。

我需要解析路径以获得其中的形状(线弧)并在它们上绘制正方形,最重要的是返回这些正方形的属性。

知道如何使用fabric.js 做到这一点吗?或任何其他图书馆?或者有没有人有不同的方法?

下图有一个矩形和一条线,它们都有我在边界上画的正方形,我正在尝试在路径元素上做同样的事情矩形和带边界的线

zea*_*uss 4

我找到了这个

var cmdRegEx = /[a-z][^a-z]*/ig;
var commands = d.match(cmdRegEx);
Run Code Online (Sandbox Code Playgroud)

它可以获取每个命令及其参数,但您需要从空格中修剪每个命令

  • 马克的反对是正确的。这些在 SVG 规范中被声明为有效,因此解析不应包含 e。XBNF 具体是:command.floating-point-constant:小数常量指数?| 数字序列指数分数常数:数字序列?“。” 数字序列 | 数字序列“.” 指数: ( "e" | "E" ) 符号?数字序列 (2认同)