【问题标题】:SVG Translate Path object with a user defined coordinate system具有用户定义坐标系的 SVG 平移路径对象
【发布时间】:2013-09-27 22:28:08
【问题描述】:

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

有没有更好的方法来做到这一点?

提前致谢。

【问题讨论】:

    标签: php svg


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-05
      • 2016-11-04
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多