SVG 是使用 XML 来描述二维图形和绘图程序的语言

  • SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
  • SVG 用来定义用于网络的基于矢量的图形
  • SVG 使用 XML 格式定义图形
  • SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失
  • SVG 是万维网联盟的标准
  • SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体

SVG坐标系统:

一、圆

<svg width="" height="">
<circle cx="" cy="" r="" fill="blue" stroke="gray" stroke-width=""></circle>
</svg>

cx和cy属性定义圆点的x和y坐标,如果省略cx和cy,圆的中心会被设置为(0,0);r定义半径;

fill:内部填充颜色;stroke:轮廓颜色;stroke-width:轮廓宽;opacity:透明度, 0.0完全透明,1.0不透明

二、矩形

<rect x="0" y="0" width="500" height="50"/>

三、椭圆

<ellipse cx="250" cy="25" rx="100" ry="25"/>

四、线条line

<line x1="0" y1="0" x2="500" y2="50" stroke="black"/>

五、折线polyline

用来创建只包含直线的形状

<svg>
<polyline points="0,0 0,20 20,20 20,40 40,40 40,60" style="fill:white;stroke:red;stroke-width:2"></polyline>
</svg>

六、路径path

下面的命令可用于路径数据:(命令详情可查看https://segmentfault.com/a/1190000005053782)

  • M = moveto   两个参数 画笔起始位置
  • L = lineto    两个参数,画直线(x ,y)坐标 ,在当前位置和新位置(L前面画笔所在的点)之间画一条线段
  • H = horizontal lineto         一个参数,绘制水平直线
  • V = vertical lineto     一个参数,绘制垂直线
  • C = curveto   三次贝塞尔曲线 命令参数:C x1 y1, x2 y2, x y  起点控制点,终点控制点,终点
  • S = smooth curveto  简写的贝塞尔曲线命令 命令参数:S x2 y2, x y
  • Q = quadratic Belzier curve   二次贝塞尔曲线 命令参数:Q x1 y1, x y  控制点,终点坐标
  • T = smooth quadratic Belzier curveto  Q命令的简写 T x y
  • A = elliptical Arc
  • Z = closepath   闭合路径,从当前点画一条直线到路径的起点。不区分大小写

注释:以上所有命令均允许小写字母。大写表示绝对定位,小写表示相对定位。

<svg>
<path d="M250 150 L150 350 L350 350 Z" stroke="blue" stroke-width="2"/>
</svg>

五、text

<text x="250" y="25" fill="gray" font-family="serif" font-size="25">Easy-peasy</text>

Layering and Drawing Order



<svg width="" height="">
<rect x="" y="" width="" height="" fill="purple"/>
<rect x="" y="" width="" height="" fill="blue"/>
<rect x="" y="" width="" height="" fill="green"/>
<rect x="" y="" width="" height="" fill="yellow"/>
<rect x="" y="" width="" height="" fill="red"/>
</svg>

Transparency

<circle cx="" cy="" r="" fill="rgba(128, 0, 128, 1.0)"/>
<circle cx="" cy="" r="" fill="rgba(0, 0, 255, 0.75)"/>
<circle cx="" cy="" r="" fill="rgba(0, 255, 0, 0.5)"/>
<circle cx="" cy="" r="" fill="rgba(255, 255, 0, 0.25)"/>
<circle cx="" cy="" r="" fill="rgba(255, 0, 0, 0.1)"/>

<circle cx="" cy="" r="" fill="rgba(128, 0, 128, 0.75)"
stroke="rgba(0, 255, 0, 0.25)" stroke-width=""/>
<circle cx="" cy="" r="" fill="rgba(0, 255, 0, 0.75)"
stroke="rgba(0, 0, 255, 0.25)" stroke-width=""/>
<circle cx="" cy="" r="" fill="rgba(255, 255, 0, 0.75)"
stroke="rgba(255, 0, 0, 0.25)" stroke-width=""/>

<svg width="" height="">
<circle cx="" cy="" r="" fill="purple" stroke="green" stroke-width=""/>
<circle cx="" cy="" r="" fill="green" stroke="blue" stroke-width=""/>
<circle cx="" cy="" r="" fill="yellow" stroke="red" stroke-width=""/>
</svg>

<circle cx="" cy="" r="" fill="purple" stroke="green" stroke-width=""
opacity="0.9"/>
<circle cx="" cy="" r="" fill="green" stroke="blue" stroke-width=""
opacity="0.5"/>
<circle cx="" cy="" r="" fill="yellow" stroke="red" stroke-width=""
opacity="0.1"/> //透明度应用在整个circle元素上

<circle cx="" cy="" r="" fill="rgba(128, 0, 128, 0.75)"
stroke="rgba(0, 255, 0, 0.25)" stroke-width=""/>
<circle cx="" cy="" r="" fill="rgba(128, 0, 128, 0.75)"
stroke="rgba(0, 255, 0, 0.25)" stroke-width="" opacity="0.5"/>
<circle cx="" cy="" r="" fill="rgba(128, 0, 128, 0.75)"
stroke="rgba(0, 255, 0, 0.25)" stroke-width="" opacity="0.2"/>

SVG基本图形的更多相关文章

  1. 多比(SVG/VML)图形控件多比(SVG/VML)图形拓扑图控件免费下载地址

    多比图形控件是一款基于Web(VML和SVG技术)的矢量图形控件, 类似于网页上的Visio控件拓扑图软件,是目前国内外最佳的基于web的工作流设计器.工作流流程监视器解决方案. 可广泛应用于包括:电 ...

  2. 【D3.V3.js系列教程】--(十五)SVG基本图形绘制

    [D3.V3.js系列教程]--(十五)SVG基本图形绘制 1.path <!DOCTYPE html> <html> <head> <meta charse ...

  3. 理解SVG的图形填充规则

    SVG的图形填充规则通过fill-rule属性来指定. 有效值:   nonzero | evenodd | inherit 默认值:   nonzero fill-rule属性用于指定使用哪一种算法 ...

  4. D3.js学习笔记(六)——SVG基础图形和D3.js

    目标 在这一章,我们将会重温SVG图形,学习如何使用D3.js来创建这些图形. 这里会包括前面例子中的SVG基础图形以及如何使用D3.js设置图形的属性. 使用D3.js画一个SVG 的 圆 circ ...

  5. SVG 基础图形

    SVG 基础图形 SVG包含了以下的基础图形元素: 矩形(包括可选的圆角),使用<rect>元素创建 圆形,使用<circle>元素创建 椭圆形,使用<ellipse&g ...

  6. SVG基础图形与参数

    SVG是什么 SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用来定义WEB上使用的矢量图 SVG 使用 XML 格式定义图形 SVG 图像在缩放时其图形质量不 ...

  7. SVG基本图形及clipPath;

    利用SVG可以实现很多复杂的图形,SVG的功能开发者们已经开发许多,今天初识一下SVG的基本图形绘制, <svg viewbox="0,0,400,400" style=&q ...

  8. SVG绘制图形

    一.SVG介绍 1.SVG指可伸缩矢量图片 2.SVG用来定义用于网络的基于矢量的图形 3.SVG使用XML格式定义图形 4.SVG图像在放大或改变尺寸的情况下其图形质量不会有损失 5.SVG是万维网 ...

  9. SVG基础图形和D3.js

    使用D3.js画一个SVG 的 圆 circle 可以使用如下代码创建: <svg width="50" height="50"> <circ ...

  10. SVG 旋转图形实例

    本实例展示如何在SVG中画出一个正方形并使之旋转.运行结果如下图所示: 在文本框中输入时间间隔,单位是毫秒.点击Start按钮,蓝色方块就会开始转动,每个时间间隔变化一度.变换的角度在下面的Angle ...

随机推荐

  1. javah找不到类文件

    这样即可,在src目录下寻找类,类要写全,即包名.类名

  2. 转载:怎样用通俗的语言解释REST,以及RESTful?

    作者:覃超链接:https://www.zhihu.com/question/28557115/answer/48094438来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...

  3. Java入门系列-17-多态

    这篇文章贯穿游戏中的一些功能带你掌握多态的使用 为什么要使用多态 在一款对战类游戏中(如有雷同纯属巧合),有两个不同的法师英雄:小乔.妲己. 两个法师英雄的都有攻击的方法,小乔的攻击伤害为10,消耗魔 ...

  4. IDE vscode识别webpack中alias配置路径

    引言网上看到一篇关于 ctrl+鼠标左键无法识别别名路径的问题,最后有人回复的方法只能在ts项目中可以识别 https://segmentfault.com/q/1010000011911879 最后 ...

  5. [转]oracle中查看用户权限

    本文转自:http://www.cnblogs.com/QDuck/archive/2010/08/11/1797225.html 1.查看所有用户:   select * from dba_user ...

  6. url字符转义

    作者在做短链接功能时,url参数里带了&字符,结果无法转换.后来查了一下,发现可以用其它符号代替.下面是对应表 +    URL 中+号表示空格                         ...

  7. Shiro - 自定义filterChainDefinitions和Realm

    在Spring Context中定义shiroFilter(org.apache.shiro.spring.web.ShiroFilterFactoryBean)时需要为其filterChainDef ...

  8. 流畅的python和cookbook学习笔记(七)

    1.读写压缩数据文件 使用 gzip 和 bz2 模块来读写压缩文件,不过需要注意文件的模式,默认格式为二进制. # 读取压缩文件 import gzip with gzip.open('somefi ...

  9. CentOS 6 安装 MySQL 8.0.+

    1.先查询是否安装MySQL 大多数centos 6 自带 MySQL5.1 命令: rpm -qa|grep mysql 执行: [root@lifan ~]# rpm -qa|grep mysql ...

  10. java_对象序列化、反序列化

    1.概念 序列化:将对象转化为字节序列的过程 反序列化:将字节序列转化为对象的过程 用途: A:将对象转化为字节序列保存在硬盘上,如文件中,如文本中的例子就是将person对象序列化成字节序列,存在p ...