• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • SVG 路径

    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>

    尝试一下»

    复杂吗?是的!!由于在绘制路径时的复杂性,强烈建议使用SVG编辑器来创建复杂的图形。

    上篇:SVG 曲线

    下篇:SVG 文本