【发布时间】:2015-12-02 18:02:48
【问题描述】:
我想知道“s”命令的第一个相对控制点是如何相对于前一个命令“c”计算的。 可以说,如果我有 c(-7.3 43 22.5 109 26.6 118.4)s(7.3 15.8 8.3 17.7),我会怎么做?
等价的 c (xy xy xy) c (xy xy xy) 是什么?又是如何计算的?
【问题讨论】:
标签: svg path coordinate-transformation
我想知道“s”命令的第一个相对控制点是如何相对于前一个命令“c”计算的。 可以说,如果我有 c(-7.3 43 22.5 109 26.6 118.4)s(7.3 15.8 8.3 17.7),我会怎么做?
等价的 c (xy xy xy) c (xy xy xy) 是什么?又是如何计算的?
【问题讨论】:
标签: svg path coordinate-transformation
分享从 C + S 到 C + C 的实际翻译:
(S 通常在 C [或另一个 S] 之后,如果不是则 x1,y1 坐标使用当前位置)
原文:C x1,y1 x2,y2 x,y S x2,y2 x,y
目标:C x1,y1 x2,y2 x,y C x1,y1 x2,y2 x,y
C.x1 = 2 * C.x - C.x2
C.y1 = 2 * C.y - C.y2
C.x2 = S.x2
C.y2 = S.y2
C.x = S.x
C.y = S.y
注意:此答案使用绝对路径。但是到相对的转换是微不足道的。 (保存当前笔位置并添加到相对路径中)
【讨论】:
您的问题的答案可以在定义“s”和“c”路径命令的地方找到 - SVG 规范。
http://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands
【讨论】: