SVG入门
这部分包括三个内容:
1. 基本图形
2. 基本属性
3. 基础操作API
基本图形
|
名称 |
描述 |
参数 |
图示 |
|
rect |
定义一个矩形 |
x="矩形的左上角的x轴" y="矩形的左上角的y轴" rx="x轴的半径(round元素)" ry="y轴的半径(round元素)" width="矩形的宽度"。必需的。 height="矩形的高度"。必需的。 |
|
|
circle |
定义一个圆 |
cx="圆的x轴坐标" cy="圆的y轴坐标" r="圆的半径". 必需. |
|
|
ellipse |
定义一个椭圆 |
cx="椭圆x轴坐标" cy="椭圆y轴坐标" rx="沿x轴椭圆形的半径"。必需。 ry="沿y轴长椭圆形的半径"。必需。 |
|
|
line |
定义一条线 |
x1="直线起始点x坐标" y1="直线起始点y坐标" x2="直线终点x坐标" y2="直线终点y坐标" |
|
|
polygon |
定义一个多边形 |
points="多边形的点。点的总数必须是偶数"。必需的 |
|
|
polyline |
定义一条折线 |
points=折线上的"点"。必需的 |
|
|
path |
定义一个路径 |
d="定义路径指令"
PS:以上所有命令均允许小写字母。大写表示绝对定位,小写表示相对定位。 pathLength="如果存在,路径将进行缩放,以便计算各点相当于此值的路径长度" transform="转换列表" |
PS:图示来自慕课网教程。
基本属性
|
名称 |
描述 |
|
fill |
填充颜色 |
|
stroke |
文本或元素轮廓颜色 |
|
stroke-width |
文本或元素轮廓厚度 |
|
transform |
图形变换 |
基础操作API
名称 |
描述 | 参数说明 |
| document.createElementNS(namespaceURI, qualifiedName[, options]) | 创建图形 | 由于篇幅很大,请查看一下地址: https://developer.mozilla.org/en-US/docs/Web/API/Document/createElementNS namespaceURI:XML命名空间,避免元素命名冲突的方法。 例如: HTML - Use http://www.w3.org/1999/xhtml SVG - Use http://www.w3.org/2000/svg |
|
element.appendChild(childElement) |
添加图形 |
向节点添加最后一个子节点。 |
|
element.setAttribute(name, value) element.getAttribute(name) |
设置/获取属性 |
设置/获取属性 |
完整示例
<style>
.demo{
fill:red;
stroke:black;
stroke-width:4;
opacity:0.5;
}
</style>
<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg">
<rect x="20" y="20" rx="20" ry="20" width="250" height="100" class="demo"/>
<circle cx="60" cy="200" r="40" class="demo"/>
<ellipse cx="80" cy="300" rx="60" ry="20" class="demo"/>
<line x1="20" y1="350" x2="300" y2="350" class="demo"/>
<polygon points="220,150 300,210 170,250" class="demo"/>
<polyline points="20,400 60,400 60,450 100,450" class="demo"/>
<path d="M250 400 L150 450 L350 450 Z" class="demo"/>
</svg>
效果:

注意:
1. 由于绘制路径(path)的复杂性,因此强烈建议使用SVG编辑器来创建复杂的图形。
2. 详细文档可以查看:https://www.w3.org/TR/SVG/
参考文献
1. http://www.runoob.com/svg/svg-reference.html 【SVG 参考手册】
2. http://www.imooc.com/learn/143
本文为原创文章,转载请保留原出处,方便溯源,如有错误地方,谢谢指正。
本文地址 :http://www.cnblogs.com/lovesong/p/5964391.html
SVG入门的更多相关文章
- 数据可视化-svg入门基础(二)
接上一篇:数据可视化-svg入门基础(一),基础一主要是介绍了svg概念,元素样式设置等. svg是(scalable vector graphic)伸缩矢量图像. 一.目录 (1)图形元素 (2)文 ...
- svg入门详解
一.svg是什么? SVG 意为可缩放矢量图形(Scalable Vector Graphics). SVG 是使用 XML 来描述二维图形和绘图程序的语言. SVG 图像在放大或改变尺寸的情况下其图 ...
- SVG 入门——理解viewport,viewbox,preserveAspectRatio
工欲善其事必先利其器,没有真正搞懂SVG里的viewport,viewbox, preserveAspectRatio这三个属性,就很容易遇到坑,最近写项目用到svg这三个属性被我一眼就略过 ,后来发 ...
- 数据可视化系列--svg入门基础(一)
一.前言 1.SVG(Scalable Vector Graphics)可伸缩矢量图形 特点: (1)使用xml格式来定义图形: (2)用来定义web上的使用的矢量图: (3)改变图像尺寸,图片质量不 ...
- SVG 新手入门
svg 入门新认知 一.第一步创建设置svg <svg width="100%" height="500"> </svg> 设置粗细 5 ...
- SVG 相关整理
1. 中文参考手册: http://www.runoob.com/svg/svg-reference.html SVG HTML5 资源教程 http://www.html5tricks.com/ta ...
- Canvas游戏计算机图形教程
TechbrooD 主站 WOW 登录 注册 0首页 1简介 1.1WWW 技术变迁和生态 1.2WWW 学习建议 1.3WWW 互联网基础知识 1.4WWW Web 1.5 WWW Web ...
- SVG-概述/容器与通用属性
参考: SVG 图像入门教程 MDN SVG SVG教程 SVG入门-踏得 工具: svg在线编辑 概述 SVG 是一种基于 XML 语法的图像格式,全称是可缩放矢量图(Scalable Vector ...
- 突袭HTML5之SVG 2D入门1 - SVG综述////////////////zzzzzzzz
以二次贝塞尔曲线的公式为例: js函数: //p0.p1.p2三个点,其中p0为起点,p2为终点,p1为控制点 //它们的坐标用数组表示[x,y] //t的范围是0-1 function qBerzi ...
随机推荐
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)
数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChin ...
- 虚拟机体验之 QEMU 篇
引言 说起虚拟机,大家都不陌生.需要使用虚拟机的场景也非常的多,比如有志于写操作系统的同志,往往需要一个虚拟机来运行和调试他写的系统:再比如喜欢研究网络体系结构的朋友,需要在自己的电脑上虚拟出 N 个 ...
- Angular页面传参的四种方法
1. 基于ui-router的页面跳转传参 (1)在Angular的app.js中用ui-route定义路由,比如有两个页面, 一个页面(producers.html)放置了多个producers,点 ...
- Dom addEventlistener与id 绑定事件的区别(续)
addEventListener 第三个参数为 useCapture. 以一个例子说明. <div id="div1" style="background: blu ...
- Hadoop的体系结构
HDFS和MapReduce是Hadoop的两大核心.而整个Hadoop的体系结构主要是通过HDFS来实现对分布式存储的底层支持的,并且它会通过MapReduce来实现对分布式并行任务处理的程序支持. ...
- Android自定义View之圆环交替 等待效果
学习了前面两篇的知识,对于本篇实现的效果,相信大家都不会感觉太困难,我要实现的效果是什么样呢?下面请先看效果图: 看上去是不很炫的样子,它的实现上也不是很复杂,重点在与onDraw()方法的绘制. 首 ...
- Bootstrap相关资料
WEB项目中,使用Bootstrap较多.但是一些插件却比较确实,所以整理了一份Bootstrap相关插件的地址.基本满足日常WEB开发中插件需求.并且还挺好用的 bootstrap说明文档,有问题可 ...
- 代码的坏味道(11)——霰弹式修改(Shotgun Surgery)
坏味道--霰弹式修改(Shotgun Surgery) 霰弹式修改(Shotgun Surgery) 类似于 发散式变化(Divergent Change) ,但实际上完全不同.发散式变化(Diver ...
- 如果你也会C#,那不妨了解下F#(6):面向对象编程之“类”
前言 面向对象的思想已经非常成熟,而使用C#的程序员对面向对象也是非常熟悉,所以我就不对面向对象进行介绍了,在这篇文章中将只会介绍面向对象在F#中的使用. F#是支持面向对象的函数式编程语言,所以你用 ...





