如果你认为立方Béziers是SVG中最复杂的部分,那么我有一个坏消息要告诉你,弧线要复杂得多。不过好消息是,它们很少被使用。
SVG弧的不同参数
弧有7个参数。
A rx ry rotation large-arc-flag sweep-flag x y
最后两个参数( 40, 40 )是弧的端点。前两个定义了水平和垂直半径( 70, 70 )。如果我们画一个圆,这两个值是相同的。
您可能会意识到,即使具有相同的起点和终点,以及相同的半径,也可以有四种不同的变化。第五个参数是一个布尔标志,我们可以用它来翻转弧的另一种方式(现在它变成了 1 )。
更复杂的是,如果我们将水平和垂直半径设置为两个不同的值,那么我们最终会得到一个椭圆的弧( 70, 40 )。同样,同样的起点和终点,这也有4个不同的变化。
最后,如果我们画一个椭圆,我们也可以把它旋转一个角度。我们可以通过第三个参数(30)来设置它。更扭曲的是,我们想象的椭圆没有绕着它的中心旋转,因为这个弧线仍然必须保持相同的起点和终点。如果我们画一个圆,旋转不会影响弧线。
画一个月亮图标
在这个例子中,我们画了一条路径。我们从一个move-to命令开始,到达起始位置。然后,我们绘制两个弧线。我们画一个较长的弧线到达底角,然后用一个较短的弧线返回到起始位置。
请注意,尽管使用了相同的半径,但这两条弧看起来非常不同。第一条弧线走两个端点之间的长距离,第二条弧线走短距离。请注意,第一个是逆时针方向(当它向下时),第二个是顺时针方向(当它向上时)。
画糖果
在所有这些介绍之后,我们终于看到了今天的例子。
为了画一个糖果,我们画了一条由直线和半圆组成的粗线。然后,我们再次绘制相同的线条,笔触宽度略窄。通过为它们设置两种不同的颜色。
最后,我们在这个形状内添加一些直线作为标记。