目录

1、SVG的概念

2、SVG 实例

3、SVG 在HTML中

4、SVG 矩形 -

5、SVG 圆形 -

6、SVG 椭圆 -

7、SVG 直线 -

8、SVG 多边形 -

9、SVG 多段线 -

10、SVG 路径 -

11、SVG 文本 -

12、SVG Stroke 属性

13、SVG 滤镜

14、SVG 模糊效果—— 和

15、SVG 阴影—— 和

16、SVG 线性渐变 -

17、SVG 放射性渐变 -

18、svg验证码


1、SVG的概念

SVG矢量图:就是用标签代码来画图

canvas:是H5出的技术,用JS来画图    ( SVG和canvas都是代码)

img:是图片,是图片编码

SVG是一种可伸缩矢量图型(就是用标签代码来画图),它基于XML并用于描述图形的语言;

不同于用像素来描绘的矩阵图像(JPG、PNG、GIF),SVG是和分辨率无关的;

SVG图像可以通过JS和DOM操作来创建和操控;

SVG有自己庞大的语法和较大的复杂度,我们这里只是了解下有这种图像格式;

2、SVG 实例

<svg version="1.1"baseProfile="full"width="300" height="200"xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" stroke="red" stroke-width="4" fill="yellow" /><circle cx="150" cy="100" r="80" fill="green" /><text x="150" y="115" font-size="16" text-anchor="middle" fill="white">RUNOOB SVG TEST</text></svg>

SVG 代码解析:

SVG 代码以 <svg> 元素开始,包括开启标签 <svg> 和关闭标签 </svg> 。这是根元素。width 和 height 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间。

SVG 的 <rect> 用来创建一个矩形,通过 fill 把背景颜色设为黄色。

SVG 的 <circle> 用来创建一个圆。cx 和 cy 属性定义圆中心的 x 和 y 坐标。如果忽略这两个属性,那么圆点会被设置为 (0, 0),r 属性定义圆的半径。 一个半径 80px 的绿色圆圈 <circle> 绘制在红色矩形的正中央 (向右偏移 150px,向下偏移115px)。

stroke 和 stroke-width 属性控制如何显示形状的轮廓。我们把圆的轮廓设置为 4px 宽,红色边框。

fill 属性设置形状内的颜色。我们把填充颜色设置为红色。

关闭标签 </svg> 的作用是关闭 SVG 元素和文档本身。

注释:所有的开启标签必须有关闭标签!

3、SVG 在HTML中

SVG 文件可通过以下标签嵌入 HTML 文档:<embed>、<object> 或者 <iframe>。

SVG的代码可以直接嵌入到HTML页面中,或您可以直接链接到SVG文件。

4、SVG 矩形 - <rect>

  • rect 元素的 width 和 height 属性可定义矩形的高度和宽度
  • style 属性用来定义 CSS 属性
  • CSS 的 fill 属性定义矩形的填充颜色(rgb 值、颜色名或者十六进制值)
  • CSS 的 stroke-width 属性定义矩形边框的宽度
  • CSS 的 stroke 属性定义矩形边框的颜色
  • x 属性定义矩形的左侧位置(例如,x="0" 定义矩形到浏览器窗口左侧的距离是 0px)
  • y 属性定义矩形的顶端位置(例如,y="0" 定义矩形到浏览器窗口顶端的距离是 0px)
  • CSS 的 fill-opacity 属性定义填充颜色透明度(合法的范围是:0 - 1)
  • CSS 的 stroke-opacity 属性定义轮廓颜色的透明度(合法的范围是:0 - 1)
  • CSS opacity 属性用于定义了元素的透明值 (范围: 0 到 1)。
  • rx 和 ry 属性可使矩形产生圆角。
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><rect x="50" y="20" width="150" height="150"style="fill:blue;stroke:pink;stroke-width:5;fill-opacity:0.1;stroke-opacity:0.9"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><rect x="50" y="20" width="150" height="150"style="fill:blue;stroke:pink;stroke-width:5;opacity:0.5"/>
</svg>

5、SVG 圆形 - <circle>

  • cx和cy属性定义圆点的x和y坐标。如果省略cx和cy,圆的中心会被设置为(0, 0)
  • r属性定义圆的半径
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><circle cx="100" cy="50" r="40" stroke="black"stroke-width="2" fill="red"/>
</svg>

6、SVG 椭圆 - <ellipse>

  • CX属性定义的椭圆中心的x坐标
  • CY属性定义的椭圆中心的y坐标
  • RX属性定义的水平半径
  • RY属性定义的垂直半径
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><ellipse cx="240" cy="50" rx="220" ry="30" style="fill:yellow"/><ellipse cx="220" cy="50" rx="190" ry="20" style="fill:white"/>
</svg>

7、SVG 直线 - <line>

  • x1 属性在 x 轴定义线条的开始
  • y1 属性在 y 轴定义线条的开始
  • x2 属性在 x 轴定义线条的结束
  • y2 属性在 y 轴定义线条的结束
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><line x1="0" y1="0" x2="200" y2="200"style="stroke:rgb(255,0,0);stroke-width:2"/>
</svg>

8、SVG 多边形 - <polygon>

创建一个五角星

<svg height="210" width="500"><polygon points="100,10 40,198 190,78 10,78 160,198"style="fill:lime;stroke:purple;stroke-width:5;fill-rule:nonzero;" />
</svg>

9、SVG 多段线 - <polyline>

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><polyline points="0,40 40,40 40,80 80,80 80,120 120,120 120,160" style="fill:white;stroke:red;stroke-width:4" />
</svg>

10、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
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><path d="M150 0 L75 200 L225 200 Z" />
</svg>

11、SVG 文本 - <text>

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><text x="10" y="20" style="fill:red;">Several lines:<tspan x="10" y="45">First line</tspan><tspan x="10" y="70">Second line</tspan></text>
</svg>

12、SVG Stroke 属性

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"><g fill="none"><path stroke="red" d="M5 20 l215 0" /><path stroke="blue" d="M5 40 l215 0" /><path stroke="black" d="M5 60 l215 0" /></g>
</svg>

13、SVG 滤镜

14、SVG 模糊效果——<defs> 和 <filter>

15、SVG 阴影——<defs> 和 <filter>

16、SVG 线性渐变 - <linearGradient>

17、SVG 放射性渐变 - <radialGradient>

18、svg验证码

也可以在官网看手册如何使用:

svg-captcha - npm

实现验证码使用svg-captcha第三方模块

1.下载
cnpm i --save svg-captcha
也可以写:   npm i svg-captcha

2.导入生成验证码

//Service文件:或者 controller下的user.js中
'use strict';
const Service = require('egg').Service;
const svgCaptcha = require('svg-captcha');   //核心==>引入
class ToolsService extends Service {// 产生验证码async captcha() {const captcha = svgCaptcha.create({   //核心==>设置验证码的样式size: 4, //随机字符串的个数fontSize: 50,width: 100,height: 40,background: '#cc9966'});this.ctx.session.code = captcha.text;//缓存验证码中的文字return captcha;//返回验证码}
}
module.exports = ToolsService;//控制器文件:async coder() {const {ctx} = this;let captcha = await this.service.tools.captcha(); // Service里面的方法ctx.body = captcha.data; // 返回一张svg图片}

SVG (SVG的概念 、SVG 实例 、SVG 在HTML中 、SVG 矩形 、SVG 圆形 、SVG 椭圆 、SVG 直线 、SVG 多边形、svg验证码 )相关推荐

  1. SVG 教程 (三)圆形,椭圆,直线

    SVG <circle> SVG 圆形 - <circle> <circle> 标签可用来创建一个圆: 下面是SVG代码: <svg xmlns=" ...

  2. html中%3csvg%3e标签的使用,微信小程序:使用svg

    先确定一点,微信小程序中使用svg标签,并不会像沃恩在html中使用一样,因为小程序并不会认可'svg'这个标签,所以我们要讨论的,是微信小程序中怎么使用svg, 先备注一点:为啥使用svg?这个没有 ...

  3. svg 画圆 画椭圆 画直线 画折线

    svg    rect x,y位置 width宽 height高 fill颜色 fill-opacity="0.3" stroke-opacity="0.3" ...

  4. 论文浅尝 | 区分概念和实例的知识图谱嵌入方法

    链接:https://arxiv.org/pdf/1811.04588.pdf 知识图谱的表示学习最近几年被广泛研究,表示学习的结果对知识图谱补全和信息抽取都有很大帮助.本文提出了一种新的区分概念和实 ...

  5. 【编撰】linux IPC 002 - 匿名管道PIPE和有名管道FIFO的概念和实例,以及应用比较

    前言:上一节提到IPC的概述,本一节,原文作者比较详细的讨论了,管道的概念和实例和使用场景: 原文作者:郑彦兴 (mlinux@163.com)国防科大计算机学院 http://www.ibm.com ...

  6. java编译不报错但运行啥都没_java编译时与运行时概念与实例详解

    java编译时与运行时概念与实例详解 发布于 2020-7-29| 复制链接 本篇文章通过实例对 java程序编译时与运行时进行了详解,需要的朋友可以参考下 Java编译时与运行时很重要的概念,但是一 ...

  7. 沐阳Python扫盲01类的概念与实例

    沐阳Python扫盲01类的概念与实例 文章目录 沐阳Python扫盲01类的概念与实例 前言 一.面向过程编程的实现 二.面向对象编程的实现 总结 前言 让我们从一个实际的游戏人物例子出发,学习理解 ...

  8. 学习笔记-RPC远程调用概念和实例

    RPC远程调用概念和实例 一定要注意顺序,先hook,然后invoke,再rpc 逆向三段: 第三段RPC:Remote Procedure Call 远程调用 FRIDA精髓:远程调动 frida( ...

  9. 实例讲解Linux系统中硬链接与软链接的创建

    导读 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.硬链接与软链接的区别从根本上要从Inode节点说 ...

  10. php this指针的用法,C#_C#中this指针的用法示例,本文实例展示了C#中this指针的 - phpStudy...

    C#中this指针的用法示例 本文实例展示了C#中this指针的用法,对于初学者进一步牢固掌握C#有很大帮助,具体内容如下: 一.this指针是什么: 这里有一些面向对象编程的概念需要说明:类(Cla ...

最新文章

  1. 这个时代,给了我们年轻人太多
  2. linux磁盘高,CentOS 7.2中磁盘iowait过高解决
  3. 小米蓝牙左右互联_解决不同品牌智能家居的兼容问题,小米米家智能多模网关发布...
  4. 商品管理后台发布商品时,规格值组合的前端交互的实现逻辑
  5. mysql 8.0用doc修改密码_MYSQL8.0修改密码流程
  6. 【零基础学Java】—Random的基本概述和使用(十二)
  7. mysql union (all) 后order by的排序失效问题解决
  8. 内核中自带的内存调试方法CONFIG_DEBUG_SLAB
  9. Photoshop CS2 视频教程-PS色板(转)
  10. DS18B20温度传感器使用介绍
  11. 数据中心网络融合技术DCB漫谈
  12. 项目实战:动态系统的设计(类似朋友圈)
  13. 精简JavaScript
  14. 项目经理应该如何制定项目进度计划?
  15. 南京大学计算机 曹云浩,【2015.青春曲园】第二十六届“迎校庆”校园十佳歌手大赛独家放送~...
  16. L1 批判思维 - 独立思考- 破除思维误区 1.1为什么我们很难独立思考
  17. 【Http】HTTP方法的安全性和幂等性
  18. 经济法基础(2020年)——第三章 支付结算法律制度
  19. 中国站立桨板桨市场趋势报告、技术动态创新及市场预测
  20. laravel-excel使用3(老猫包子店的故事)

热门文章

  1. 分享五款没什么名气却意外好用的软件
  2. ps制作台式计算机图标,ps制作计算机图标
  3. 算法、逻辑、数学的关系
  4. mac拷贝图片window打不开
  5. p5.js炫酷背景动态js特效代码
  6. Excel常用技巧(一)
  7. 网页html教学反思,教学反思怎么写
  8. 2020暑期牛客多校训练营第九场(C)Groundhog and Gaming Time(数学期望,线段树,逆元)
  9. 什么是AUTOSAR, 为什么要用AUTOSAR
  10. 2022美国大学生数学建模竞赛A题思路与总结