SVG <path>
SVG 路径 - <path>
<path> 元素用于定义一个路径。
下面的命令可用于路径数据:
- M = moveto
- L = lineto
- H = horizontal lineto
- V = vertical lineto
- C = curveto
- S = smooth curveto
- Q = quadratic Bézier curve
- T = smooth quadratic Bézier curveto
- A = elliptical Arc
- Z = closepath
注意: 以上所有命令均允许小写字母。大写表示绝对定位,小写表示相对定位。
实例 1
上面的例子定义了一条路径,它开始于位置150 0,到达位置75 200,然后从那里开始到225 200,最后在150 0关闭路径。
下面是SVG代码:
实例
<
svg
xmlns
=
"
http://www.w3.org/2000/svg
"
version
=
"
1.1
"
>
<
path
d
=
"
M150 0 L75 200 L225 200 Z
"
/>
</
svg
>
尝试一下 »
对于Opera用户: 查看SVG文件 (右键单击SVG图形预览源)。
实例 2
下面的例子创建了一个二次方贝塞尔曲线,A 和 C 分别是起点和终点,B 是控制点:
下面是SVG代码:
实例
<
svg
xmlns
=
"
http://www.w3.org/2000/svg
"
version
=
"
1.1
"
>
<
path
id
=
"
lineAB
"
d
=
"
M 100 350 l 150 -300
"
stroke
=
"
red
"
stroke-width
=
"
3
"
fill
=
"
none
"
/>
<
path
id
=
"
lineBC
"
d
=
"
M 250 50 l 150 300
"
stroke
=
"
red
"
stroke-width
=
"
3
"
fill
=
"
none
"
/>
<
path
d
=
"
M 175 200 l 150 0
"
stroke
=
"
green
"
stroke-width
=
"
3
"
fill
=
"
none
"
/>
<
path
d
=
"
M 100 350 q 150 -300 300 0
"
stroke
=
"
blue
"
stroke-width
=
"
5
"
fill
=
"
none
"
/>
<!--
Mark relevant points
-->
<
g
stroke
=
"
black
"
stroke-width
=
"
3
"
fill
=
"
black
"
>
<
circle
id
=
"
pointA
"
cx
=
"
100
"
cy
=
"
350
"
r
=
"
3
"
/>
<
circle
id
=
"
pointB
"
cx
=
"
250
"
cy
=
"
50
"
r
=
"
3
"
/>
<
circle
id
=
"
pointC
"
cx
=
"
400
"
cy
=
"
350
"
r
=
"
3
"
/>
</
g
>
<!--
Label the points
-->
<
g
font-size
=
"
30
"
font
=
"
sans-serif
"
fill
=
"
black
"
stroke
=
"
none
"
text-anchor
=
"
middle
"
>
<
text
x
=
"
100
"
y
=
"
350
"
dx
=
"
-30
"
>
A
</
text
>
<
text
x
=
"
250
"
y
=
"
50
"
dy
=
"
-10
"
>
B
</
text
>
<
text
x
=
"
400
"
y
=
"
350
"
dx
=
"
30
"
>
C
</
text
>
</
g
>
</
svg
>
尝试一下 »
对于Opera用户: 查看SVG文件 (右键单击SVG图形预览源)。
复杂吗?是的!!由于在绘制路径时的复杂性,强烈建议使用SVG编辑器来创建复杂的图形。