html5+svg学习指南之SVG基础知识


Posted in HTML / CSS onDecember 17, 2014

百度百科:

SVG可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式。SVG是W3C制定的一种新的二维矢量图形格式,也是规范中的网络矢量图形标准。SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。

什么是SVG?

SVG 指可伸缩矢量图形 (Scalable Vector Graphics)

SVG 用来定义用于网络的基于矢量的图形

SVG 使用 XML 格式定义图形

SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失

SVG 是万维网联盟的标准

SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体

Canvas 和 SVG 的区别:

SVG

SVG 是一种使用 XML 描述 2D 图形的语言。

SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。

在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

特点:

不依赖分辨率

支持事件处理器

最适合带有大型渲染区域的应用程序(比如谷歌地图)

复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)

不适合游戏应用

Canvas

Canvas 通过 JavaScript 来绘制 2D 图形。

Canvas 是逐像素进行渲染的。

在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

特点:

 

依赖分辨率

不支持事件处理器

弱的文本渲染能力

能够以 .png 或 .jpg 格式保存结果图像

最适合图像密集型的游戏,其中的许多对象会被频繁重绘

svg 例子:


复制代码
代码如下:

<svg width="100%" height="100%" >
<circle cx="300" cy="60" r="50" stroke="#ff0" stroke-width="3" fill="red" />
</svg>

html5+svg学习指南之SVG基础知识

HTML / CSS 相关文章推荐
CSS3实现多背景展示效果通过CSS3定位多张背景
Aug 10 HTML / CSS
css实例教程 一款纯css3实现的超炫动画背画特效
Nov 05 HTML / CSS
css3实现超炫风车特效
Nov 12 HTML / CSS
css3+伪元素实现鼠标移入时下划线向两边展开的效果
Apr 25 HTML / CSS
使用CSS3来代替JS实现交互
Aug 10 HTML / CSS
详解CSS3原生支持div铺满浏览器的方法
Aug 30 HTML / CSS
html5标记文字_动力节点Java学院整理
Jul 11 HTML / CSS
html5的新玩法——语音搜索
Jan 03 HTML / CSS
利用html5的websocket实现websocket聊天室
Dec 12 HTML / CSS
基于zepto的插件之移动端无缝向上滚动并上下触摸滑动实例代码
Dec 20 HTML / CSS
html5实现图片转圈的动画效果——让页面动起来
Oct 16 HTML / CSS
Html5嵌入钉钉的实现示例
Jun 04 HTML / CSS
canvas需要在标签里直接定义宽高
Dec 17 #HTML / CSS
使用canvas绘制贝塞尔曲线
Dec 17 #HTML / CSS
使用canvas绘制超炫时钟
Dec 17 #HTML / CSS
24个canvas基础知识小结
Dec 17 #HTML / CSS
html5使用canvas绘制文字特效
Dec 15 #HTML / CSS
html5使用canvas绘制太阳系效果
Dec 15 #HTML / CSS
html5使用canvas绘制一张图片
Dec 15 #HTML / CSS
You might like
PHP中执行MYSQL事务解决数据写入不完整等情况
2014/01/07 PHP
PHP制作百度词典查词采集器
2015/01/29 PHP
PHP递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
PHP读取文件内容的五种方式
2015/12/28 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
javascript  Error 对象 错误处理
2008/05/18 Javascript
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
2008/11/24 Javascript
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
js截取函数(indexOf,join等)
2010/09/01 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
jQuery实现统计输入文字个数的方法
2015/03/11 Javascript
JavaScript框架是什么?怎样才能叫做框架?
2015/07/01 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
详解python中的hashlib模块的使用
2019/04/22 Python
django框架F&amp;Q 聚合与分组操作示例
2019/12/12 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
jupyter notebook清除输出方式
2020/04/10 Python
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
学生个人自我鉴定范文
2014/03/28 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
人事代理委托书
2014/09/27 职场文书
安全生产月宣传标语
2014/10/06 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
NoSQL优缺点与MongoDB数据库简介
2022/06/05 MongoDB