2017-06-08 53 views
0

我有一个路径可以自己在页面上绘制它自己。所以我将有一个在容器中间的路径。该路径数据是这样的:有没有方法来标准化/零点SVG路径数据?

M 100 100 L 100 200 L 200 200 L 200 100 z 

这在坐标x 100,Y 100创建一个盒子,但我想它正常化或零点它,这样的坐标将结束:

M 0 0 L 0 100 L 100 100 L 100 0 z 

然后我把x设置为100,将y设置为100.在这个例子中,我可以做简单的数学运算,因为路径是一个正方形,但是如果它不是,例如,它是从右到左的一条直线还是一个复数路径,是否有代码将零点?

如果需要,请询问澄清而不是downvoting。

以下是Flex中使用AS3(如JavaScript)的Path类的源代码,它看起来像具有可使用Path类获取边界的函数。

仅供参考通知读者我的标签选择Flex和FXG是SVG兄弟(均由Adobe创建)的标记语言。两种语言的路径数据都是相同的,标记几乎是1比1.可以在另一个中运行的答案可能适用于另一种。另外,DOMParser可以解析SVG,如果它有帮助,我可以使用它。

+1

使用相对坐标,如l而不是L –

回答

1

我认为这是简单的数学,不管你的路径的复杂性如何。只需迭代点并确定最小的x和y值。 Etvoilà!那是你的“零点”抵消。您已经无意识地将相同的算法应用于您的广场,这很明显。

+0

好主意!我会尝试这个并报告回来。 –

相关问题