跳过主要内容

MorphSVGPlugin.rawPathToString

MorphSVGPlugin.rawPathToString( rawPath:Array ) : String

将 RawPath(数组)转换为路径数据字符串,例如"M0,0 C100,20 300,50 400,0...",这与通常出现在d属性中的内容)<path>.

参数

  • 原始路径(rawPath): 数组

    要转换为字符串的 RawPath。

返回值:String

以三次贝塞尔格式表示的路径数据命令字符串,例如"M0,0 C10,20,15,30,5,18 M0,100 C50,120,80,110,100,100".

细节

将 RawPath(数组)转换为三次贝塞尔路径数据的字符串形式,例如"M0,0 C100,20 300,50 400,0...",这与通常出现在d属性中的内容)<path>.

A RawPath本质上是一个数组,其中包含每个连续段的数组,每个段内部交替存储 x、y、x、y 的三次贝塞尔曲线数据。它类似于 SVG<path>其中每个M命令对应一个段(数组)。该段(数组)以交替的 x/y 格式包含所有三次贝塞尔坐标(与 SVG 路径数据一样),使用原始的数字形式,好处是你不需要解析长字符串并进行转换。

例如,这个 SVG<path>包含两个独立的段,因为有两个 "M" 命令:

<path d="M0,0 C10,20,15,30,5,18 M0,100 C50,120,80,110,100,100" />

生成的 RawPath 将是:

[
[0, 0, 10, 20, 15, 30, 5, 18],
[0, 100, 50, 120, 80, 110, 100, 100],
];

请记住,此函数将原始路径(如第二个代码块)转换为其字符串形式(如第一个代码块中的 d= 部分)。

为了简化,上面的例子在每个段中只包含了一个三次贝塞尔曲线,但事实上每个段中可以包含无限数量的贝塞尔曲线。无论原始<path>数据字符串中包含什么路径命令(三次、二次、弧线、直线等),最终生成的 RawPath始终都是三次贝塞尔曲线。

同样还有一个对应的MorphSVGPlugin.rawPathToString()方法,以便你可以在两者之间互相转换。

无噪 Logo
无噪文档
中文文档 · 复刻官网
查看所有 ↗