一篇文章教会你使用SVG 画线

2021-03-03 15:52:31 浏览数 (1)

回舟不待月,归去越王家。

SVG <line>元素是一个SVG基本形状,用来创建一条连接两个点的线。<line>元素用于在SVG图像内部绘制线条。可以绘制水平直线,垂直竖线直线、斜角直线等。

polyline元素是SVG的一个基本形状,用来创建一系列直线连接多个点。典型的一个polyline是用来创建一个开放的形状,最后一点不与第一点相连。

一、SVG 画直线

案例

一些简单的常用SVG <line>画直线。

示例

代码语言:javascript复制
<!DOCTYPE html>
<html>
  <body style="background-color: aqua;">
    <title>项目</title>
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
      <line x1="0" y1="10" x2="0" y2="100" style="stroke:#006600;"></line>
      <line x1="10" y1="10" x2="100" y2="100" style="stroke:#006600;"></line>
      <line x1="20" y1="10" x2="100" y2="50" style="stroke:#006600;"></line>
      <line x1="30" y1="10" x2="110" y2="10" style="stroke:#006600;"></line>
    </svg>
  </body>
</html>

运行后直线效果如下 :

代码解析 :

直线起始点由x1和y1属性设置的点处,直线终点由x2和y2属性设置的点处,该style属性设置笔划(线条)的颜色和粗细。

二、SVG 画曲折线

1. 折线

折线示例代码如下:

示例

代码语言:javascript复制
<!DOCTYPE html>
<html>
  <body style="background-color: aqua;">
    <title>项目</title>
    <svg width="120" height="120" viewPort="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg">
      <polyline fill="none" stroke="black" points="20,100 40,60 70,80 100,20" />

    </svg>
  </body>
</html>

运行后效果如下:

2. 绘制三角形

示例代码如下:

示例

代码语言:javascript复制
<!DOCTYPE html>
<html>
  <body style="background-color: aqua;">
    <title>项目</title>
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

      <polyline points="0,0  30,0  15,30" style="stroke:#006600;" />
    </svg>
  </body>
</html>

运行后效果预览图:

多条线由点标识。

每个点在points属性中均以x,y列出。此示例有3个点,它们定义了一个三角形。将3个点用线连接起来,然后填充。默认的填充颜色是黑色。

3. 绘制一个填充绿色的三角形

示例代码如下:

示例

代码语言:javascript复制
<!DOCTYPE html>
<html>
  <body style="background-color: aqua;">
    <title>项目</title>
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

      <polyline points="10,2  60,2  35,52" style="stroke:#006600; stroke-width: 2;
               fill: #33cc33;" />
    </svg>
  </body>
</html>

运行后效果预览图:

已经注意到,三角形中只有两条线是用描边颜色(深绿色)绘制的。原因是,仅绘制了列出的点之间的线。没有画回第一点的线。为此,points再次将第一个点添加到属性中。

如下所示:

代码语言:javascript复制
<!DOCTYPE html>
<html>
  <body style="background-color: aqua;">
    <title>项目</title>
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

      <polyline points="10,2  60,2  35,52  10,2" style="stroke:#006600; fill: #33cc33;" />
    </svg>
  </body>
</html>

运行的图像结果如下:

该style属性设置笔划(线条)的颜色和粗细以及填充颜色。

三、总结

本文基于Html基础,使用SVG画不一样的线,画出不一样图形。SVG <line>元素画直线,polyline元素创建一个开放的形状,最后一点不与第一点相连。实现画曲线的效果,以及在实际开发项目中需要注意的点,遇到的一些难点, 都提供了一些有效的解决方案。

欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

代码很简单,希望能够帮助读者更好的去学习SVG。

------------------- End -------------------

svg

0 人点赞