SVG <path> 可以同时包含绝对和相对命令吗?

Posted

技术标签:

【中文标题】SVG <path> 可以同时包含绝对和相对命令吗?【英文标题】:Can an SVG <path> contain both absolute and relative commands? 【发布时间】:2011-03-10 01:52:52 【问题描述】:

目前我正在开发一个转换 Inkscape 创建的 svg 路径的应用程序。现在我不清楚关于绝对和相对路径组合的路径规范。规范是否说明了同时包含相对坐标和绝对坐标的路径定义?

尤其是绝对贝塞尔曲线后跟相对速记贝塞尔曲线的情况?

如果这种情况是可能的,那么我必须计算并保留当前的绝对路径,以确保我可以计算出相对速记曲线的第一个控制点。

我应该问 Inkscape 作者的问题吗?

【问题讨论】:

【参考方案1】:

是的,允许混合使用绝对路径和相对路径命令。如果您正在实施一个工具,我建议您阅读规范,尤其是 path data section。

【讨论】:

【参考方案2】:

是的,它可以。在 svg 路径数据中使用大写和小写命令,如 l 和 L(表示 line to)适用于 ex d="M 10,10 L 20,20 l 20,20" (M) 将笔移动到 (10,10) 绝对点,然后 (L) 从 (10) 绘制一条线,10) 到 (20,20) 绝对点,最后 (l) 从 (20,20) 绝对点到 (20,20) 相对点画一条线,即 (40,40) 绝对点

【讨论】:

以上是关于SVG <path> 可以同时包含绝对和相对命令吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 <path> 标签将图标图像转换为 svg 的最佳方法

SVG.path_不连续的线段

SVG <path> 中的随机点

SVG 的绝对定位导致内部路径元素移动到其包含元素之外

NextJS、Storybook、SVG 和绝对导入路径

svg画图