【问题标题】:Converting relative s path into relative c path in svg将相对s路径转换为svg中的相对c路径
【发布时间】: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


    【解决方案1】:

    分享从 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
    

    注意:此答案使用绝对路径。但是到相对的转换是微不足道的。 (保存当前笔位置并添加到相对路径中)

    【讨论】:

    • 谢谢,像魅力一样工作
    【解决方案2】:

    您的问题的答案可以在定义“s”和“c”路径命令的地方找到 - SVG 规范。

    http://www.w3.org/TR/SVG/paths.html#PathDataCubicBezierCommands

    【讨论】:

    • 谢谢,我通过反复试验设法了解了它的工作原理。并感谢您的链接。
    猜你喜欢
    • 1970-01-01
    • 2017-08-01
    • 2011-11-07
    • 2011-05-02
    相关资源
    最近更新 更多