SVG 中的路径是一个通用且强大的工具。但是要在其中画出一个像圆形这样的图形并不是一件容易的事。似乎有A(弧),但我个人能够画一个只有两条弧的圆。在这种情况下,圆心不在任何地方表示;它位于这些弧的端点的中间。我添加了一条白线进行控制。
<svg width="600" height="200" xmlns="http://www.w3.org/2000/svg">
<path d="M40 100 A 50 50 0 0 1 140 100
A 50 50 0 0 1 40 100"
stroke="black" fill="rgb(180,180,255)"/>
<line x1="40" y1="100" x2="140" y2="100" stroke="white"/>
</svg>
您可以使用两个三次贝塞尔曲线绘制一个圆。在我的情况下大约是一个圆圈))
<svg width="320" height="320" xmlns="http://www.w3.org/2000/svg">
<path d="M40 100 C 40 34 140 34 140 100
C 140 166 40 166 40 100"
stroke="black" fill="rgb(180,180,255)"/>
<line x1="40" y1="100" x2="140" y2="100" stroke="white"/>
</svg>
有没有更简单的方法来画一个圆,只用一条线path
,让它由一条曲线组成?
同意@Alexey Ten的评论
我会回答完全一样的。
这个问题的动机是可以理解的,因为
animateMotion
例如 不能与 一起使用circle
,而只能与 一起使用path
,它实现了圆形的形状。我不知道使用矢量编辑器是否会更容易解决
所以一步一步:
Inkscape
选择侧面菜单中的工具 -绘制圆、椭圆并按住 shift 从中心绘制一个圆。保存文件并复制公式path
但是,你永远无法画出一个完美的圆,它至少会有一个小椭圆形状,不同
rx
和ry
另一种方式
大纲/大纲对象- 以 SVG 格式保存文件,复制路径Shift + Ctrl + C
如果将起点指定为终点,则不会以任何方式绘制圆。但是你可以稍微改变一下))在这种情况下,60 --> 60.00001 并且一切正常。你可以用一个圆弧画一个圆。
由于打开的图形仍然是填充的,因此结果几乎是完美的,肉眼无法完全区分。开放圆的可能负面后果可以通过
z
路径字符串末尾的关闭指令来平衡。它不会影响显示,但是在矢量编辑器中,可以肯定的是,用颜色填充是正常的(没有完美闭合的轮廓,会出现填充错误)。为了更好地理解,我用红点标记了弧的开始(以及几乎结束)。