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

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

[[382258]]

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

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

一、SVG  画直线

案例

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

示例

  1. <!DOCTYPE html> 
  2. <html> 
  3.   <body style="background-color: aqua;"
  4.     <title>项目</title> 
  5.     <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
  6.       <line x1="0" y1="10" x2="0" y2="100" style="stroke:#006600;"></line> 
  7.       <line x1="10" y1="10" x2="100" y2="100" style="stroke:#006600;"></line> 
  8.       <line x1="20" y1="10" x2="100" y2="50" style="stroke:#006600;"></line> 
  9.       <line x1="30" y1="10" x2="110" y2="10" style="stroke:#006600;"></line> 
  10.     </svg> 
  11.   </body> 
  12. </html> 

运行后直线效果如下 :

代码解析 :

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

二、SVG  画曲折线

1. 折线

折线示例代码如下:

示例

  1. <!DOCTYPE html> 
  2. <html> 
  3.   <body style="background-color: aqua;"
  4.     <title>项目</title> 
  5.     <svg width="120" height="120" viewPort="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg"
  6.       <polyline fill="none" stroke="black" points="20,100 40,60 70,80 100,20" /> 
  7.  
  8.     </svg> 
  9.   </body> 
  10. </html> 

运行后效果如下:

2. 绘制三角形

示例代码如下:

示例

  1. <!DOCTYPE html> 
  2. <html> 
  3.   <body style="background-color: aqua;"
  4.     <title>项目</title> 
  5.     <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
  6.  
  7.       <polyline points="0,0  30,0  15,30" style="stroke:#006600;" /> 
  8.     </svg> 
  9.   </body> 
  10. </html> 

运行后效果预览图:

多条线由点标识。

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

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

示例代码如下:

示例

  1. <!DOCTYPE html> 
  2. <html> 
  3.   <body style="background-color: aqua;"
  4.     <title>项目</title> 
  5.     <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
  6.  
  7.       <polyline points="10,2  60,2  35,52" style="stroke:#006600; stroke-width: 2; 
  8.                fill: #33cc33;" /> 
  9.     </svg> 
  10.   </body> 
  11. </html> 

运行后效果预览图:

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

如下所示:

  1. <!DOCTYPE html> 
  2. <html> 
  3.   <body style="background-color: aqua;"
  4.     <title>项目</title> 
  5.     <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
  6.  
  7.       <polyline points="10,2  60,2  35,52  10,2" style="stroke:#006600; fill: #33cc33;" /> 
  8.     </svg> 
  9.   </body> 
  10. </html> 

运行的图像结果如下:

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

三、总结

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

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

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

 本文转载自微信公众号「前端进阶学习交流」,可以通过以下二维码关注。转载本文请联系前端进阶学习交流公众号。

 

责任编辑:武晓燕 来源: 前端进阶学习交流
相关推荐

2021-02-17 20:40:22

SVG图像模式

2021-03-02 18:35:27

SVG开发空间

2020-12-01 09:36:35

SVG元素属性

2021-03-19 10:01:41

SVG画多边形Htm基础

2019-10-17 19:15:22

jQueryJavaScript前端

2021-12-28 09:27:45

Javascript 高阶函数前端

2020-11-13 08:14:28

JavaScript

2021-05-29 10:20:54

GoModules语言

2023-06-21 00:10:17

JSONWeb服务器JavaScript

2021-09-15 10:00:33

Go语言Modules

2021-02-24 10:14:04

PythonClassPython基础

2020-12-10 08:20:27

Python微博评论

2020-12-16 08:07:28

语言基础反射

2021-12-30 10:28:30

Python 微博评论

2020-12-08 08:09:49

SVG图标Web

2021-02-26 20:01:57

SVG滤镜元素

2020-12-31 08:35:07

Python抖音浏览器

2020-12-23 08:12:08

javascriptSVG脚本SVG元素

2021-01-01 09:18:48

SVG图像元素

2020-12-29 09:39:38

元素属性定位
点赞
收藏

51CTO技术栈公众号