最新的Web开发教程
 

SVG <路径>


SVG路径 - <路径>

所述<path>元素用于定义的路径。

下面的命令可用于路径数据:

  • M =通过MoveTo
  • L =了lineTo
  • H =水平了lineTo
  • V =垂直了lineTo
  • C = curveto
  • S =光滑curveto
  • Q =二次贝塞尔曲线
  • T =光滑二次贝塞尔curveto
  • A =椭圆弧
  • Z =调用closePath

Note:所有的命令的上述也可以用较低的字母表示。 大写字母意味着绝对定位,较低的情况下,意味着相对位置。


例1

下面的例子定义了位置,然后从75,200那里,一条线225,200和最终收盘路径返回到150.0,在150.0的位置用一条线开始的路径:

对不起,您的浏览器不支持嵌入式SVG。

下面是SVG代码:

<svg height="210" width="400">
  <path d="M150 0 L75 200 L225 200 Z" />
</svg>
试一试»

例2

贝塞尔曲线是用来平滑曲线,可以无限期比例模型。 通常,用户选择两个端点和一个或两个控制点。 有一个控制点Bezier曲线被称为二次贝塞尔曲线和两个控制点的那种被称为立方。

下面的示例创建二次贝塞尔曲线,其中A和C为起点和终点,B为控制点:

一个 C 对不起,您的浏览器不支持嵌入式SVG。

下面是SVG代码:

<svg height="400" width="450">
  <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-family="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>
试一试»

复杂? 是!!!! 由于参与绘制路径的复杂性,强烈推荐使用SVG编辑器来创建复杂的图形。