SVG Translate Path对象具有用户定义的坐标系

时间:2013-09-23 05:25:17

标签: php svg

我有一个简单的路径定义(只是一个例子),我希望能够在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来返回路径的边界框。然后我可以计算从路径到文档原点的距离并重置它。

有更好的方法吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

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

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

使用小型PHP脚本解析路径可能比调用Inkscape更容易,更快。