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. javascript typeof 和 instanceof 的区别和联系

      这篇文章是我看完<JavaScript高级程序设计(第2版)>书籍的随笔文章,目的只有一个,以备自己和网友们方便参考和记忆! typeof是什么?       typeof 是一个操作 ...

  2. js验证港澳居民通行证号码是否合规

    需求:最近要做实名验证的功能,但是验证我们要验证严谨一点,参考了网上关于验证港澳居民通行证号码的代码,总结一下. 代码: function checkHKMacao(code){ var tip = ...

  3. 企业为什么需要实施BPM?

    背景:众所周知,近几年企业信息化发展迅速,业务管理系统从大到小,数量众多,如ERP,SCM,PLM,CRM,EHR,OA,BI…… 等,企业的管理人员进行管理的主要手段是通过各个业务系统获得各种管理报 ...

  4. Silverlight & Blend动画设计系列三:缩放动画(ScaleTransform)

    在Silverlight的动画框架中,ScaleTransform类提供了在二维空间中的坐标内进行缩放操作,通过ScaleTransform可以在水平或垂直方向的缩放和拉伸对象,以实现一个简单的缩放动 ...

  5. Fastreport史无前例5折,仅十天快抢!

    慧都十年第一弹,与全球顶级报表控件厂商Fastreport携手同欢:仅仅十天,仅仅提供给慧都控件网,Fastreport旗下全部产品,全部5折!立即订购>> 慧都作为中国第一家与其建立合作 ...

  6. .NET MVC Scripts.Render 上下文不存在问题解决方法

    要想使用 @Scripts.Render(),就要用到 BundleConfig.cs 这个类,在App_Start目录下新建一下这个类, 类的内容如下: 使用这个类需要引入 using System ...

  7. Linux From Scratch(从零开始构建Linux系统,简称LFS)(二)

    七. 构建临时系统 1. 通用编译指南 a. 确认是否正确设置了 LFS 环境变量 echo $LFS b. 假定你已经正确地设置了宿主系统需求和符号链接 c. 对于每个软件包: (1). 确保解压软 ...

  8. css移动端:acitve效果的实现

    做移动前端也有一些日子了,一直有个问题没有解决,就是与pc端那样的一个:hover的效果,:hover是鼠标指针浮动在其上的元素的一个选择器,但因为在移动端是没有鼠标的,代替的是触摸屏,用户也不是有“ ...

  9. HTML5拖拽功能中 dataTransfer对象详解

    有了HTML5,老板再也不用担心我们的上传了,再加上有拖拽上传是不是很酷.百度一下,有关HTML5拖拽上传的文章和实例不少,都缺不了一个至关重要的东东DataTransfer.但是详细介绍的不多,尤其 ...

  10. 初识shell expect

    场景:工作中经常会遇到shell脚本写的连接脚本,所以稍微了解下. 一.shell Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言 ...