我画这样的SVG路径:
开始:
M x, y
添加曲线
Q x1, y1, x, y
等等....当我想要关闭路径时,我只需添加Z
但是最后一个线段现在没有任何控制点。
如何关闭路径并在最后一段上设置控制点?
类似于:Z Q x1, y1
其中Z关闭路径(当前指向第一个点)但它使用x1和y1作为控制点,而不仅仅是直线。
答案 0 :(得分:4)
我理解你的愿望。每次我在Illustrator中绘制一个写意blob时,我总是在原点上设置最终点,然后拖动以创建两侧控制点的切线。
SVG没有这样的功能。没有path command可以做到这一点。最接近的是速记路径命令S
和T
,但这些命令从上一个命令的最后一个控制点派生第一个控制点,而你想要的是从 next 命令(环绕式)的第一个控制点派生第二个控制点的东西。
您可以使用JavaScript执行此操作,例如:像
这样的标记<path d="… Z" class="smooth-close" />
...以及找到所有smooth-close
路径的小脚本,从第一个命令确定适当的控制点,并生成S
或T
命令并将其附加到路径数据。但是,由于你没有用javascript标记你的问题,我认为这样的解决方案对你不感兴趣。