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利用text-shadow属性实现多种效果的文字样式展现方法
Aug 25 HTML / CSS
HTML5实时语音通话聊天MP3压缩传输3KB每秒
Aug 28 HTML / CSS
html5读取本地文件示例代码
Apr 22 HTML / CSS
五个2015 年最佳HTML5 框架
Nov 11 HTML / CSS
巧用HTML5给按钮背景设计不同的动画简单实例
Aug 09 HTML / CSS
HTML5本地存储和本地数据库实例详解
Sep 05 HTML / CSS
基于canvas的骨骼动画的示例代码
Jun 12 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
Sep 23 HTML / CSS
详解HTML5.2版本带来的修改
May 06 HTML / CSS
纯CSS实现hover图片pop-out弹出效果的实例代码
Apr 16 HTML / CSS
CSS 新特性 contain控制页面的重绘与重排问题
Apr 30 HTML / CSS
html2 canvas svg不能识别的解决方案
Jun 03 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设计聊天室步步通
2006/10/09 PHP
mysql 搜索之简单应用
2007/04/27 PHP
thinkPHP实现表单自动验证
2014/12/24 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
js字符串转成JSON
2013/11/07 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
security.js实现的RSA加密功能示例
2018/06/06 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
2020/05/26 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
Python分析学校四六级过关情况
2017/11/22 Python
python操作oracle的完整教程分享
2018/01/30 Python
Python3中lambda表达式与函数式编程讲解
2019/01/14 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
勤俭节约倡议书
2014/04/14 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
声乐专业大学生职业生涯规划书:理想的未来需要自己去打造
2014/09/20 职场文书
2015年导购员工作总结
2015/04/25 职场文书
小学教研工作总结2015
2015/05/13 职场文书
师德师风培训感言
2015/08/03 职场文书