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写的模仿iPhone中的返回按钮
Apr 04 HTML / CSS
使用CSS3编写类似iOS中的复选框及带开关的按钮
Apr 11 HTML / CSS
HTML5等待加载动画效果
Jul 27 HTML / CSS
HTML5移动端开发遇见的东西
Oct 11 HTML / CSS
Html5+JS实现手机摇一摇功能
Apr 24 HTML / CSS
html5表单及新增的改良元素详解
Jun 07 HTML / CSS
mui几种页面跳转方式对比总结概括
Aug 18 HTML / CSS
html5的input的required使用中遇到的问题及解决方法
Apr 24 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
Mar 17 HTML / CSS
详解HTML5中CSS外观属性
Sep 10 HTML / CSS
HTML5简单实现添加背景音乐的几种方法
May 12 HTML / CSS
CSS几步实现赛博朋克2077风格视觉效果
Jun 16 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简单实现查询数据库返回json数据
2015/04/16 PHP
PHP实现的蚂蚁爬杆路径算法代码
2015/12/03 PHP
js CSS操作方法集合
2008/10/31 Javascript
JQery 渐变图片导航效果代码 漂亮
2010/01/01 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
2012/05/23 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
Javascript全局变量var与不var的区别深入解析
2013/12/09 Javascript
jquery实现checkbox 全选/全不选的通用写法
2014/02/22 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
Python的词法分析与语法分析
2013/05/18 Python
简单的Python2.7编程初学经验总结
2015/04/01 Python
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
Python异常处理知识点总结
2019/02/18 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
python实现猜拳游戏项目
2020/11/30 Python
会计毕业生自我鉴定
2013/11/04 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
公益广告宣传方案
2014/02/28 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
小学生作文评语集锦
2014/12/25 职场文书
技术员岗位职责
2015/02/04 职场文书
教师节表彰会主持词
2015/07/06 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书
python前后端自定义分页器
2022/04/13 Python