0

我有一个简单的路径定义(只是一个例子),我希望能够在 svg 画布上准确翻译。

M 30.872704,198.53891 C -143.04429,-148.7562 503.71813,57.927231 257.70273,102.67753

我想要做的是通过在路径对象上使用 transform="translate(0,0)" 将路径的原点(左上角)设置为 svg 文档的原点(左上角)。基本上我想在左上角设置路径,这样我就可以对它应用与 svg 文档相关的进一步翻译。

如果可能,我想避免使用任何 javascript 来执行此操作。

我的想法是我可以通过使用 php 来执行 Inkscape 并使用命令行选项 --query-all 返回路径的边界框。然后我可以计算从路径到文档原点的距离并重置它。

有一个更好的方法吗?

提前致谢。

4

1 回答 1

0

贝塞尔曲线永远不会延伸到由其端点和控制点形成的四边形之外。直线显然也是如此。因此,您只需解析所有点并跟踪 X 和 Y 坐标的最小值和最大值,就可以获得路径边界框的极好近似值。

生成的边界框有时会比路径的真实边界框略大,但它可能足够接近您的需要。

使用一个小的 PHP 脚本解析路径可能会比调用 Inkscape 更容易和更快。

于 2013-09-24T00:33:50.253 回答