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弹性伸缩布局之box布局
Jul 12 HTML / CSS
使用CSS3的appearance属性改变元素的外观的方法
Dec 12 HTML / CSS
纯css3实现思维导图样式示例
Nov 01 HTML / CSS
开发人员所需要知道的HTML5性能分析面面观
Jul 05 HTML / CSS
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
Nov 07 HTML / CSS
HTML5画渐变背景图片并自动下载实现步骤
Nov 18 HTML / CSS
详解使用HTML5 Canvas创建动态粒子网格动画
Dec 14 HTML / CSS
data:image data url 文件转为Blob上传后端的方法
Jul 16 HTML / CSS
h5封装下拉刷新
Aug 25 HTML / CSS
基于CSS3画一个iPhone
Apr 21 HTML / CSS
css背景和边框标签实例详解
May 21 HTML / CSS
css中有哪些方式可以隐藏页面元素及区别
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 4.2书写安全的脚本
2006/10/09 PHP
PHP读取大文件的类SplFileObject使用介绍
2014/04/09 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
2016/03/19 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
2014/03/19 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
jQueryMobile之Helloworld与页面切换的方法
2015/02/04 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
django 将model转换为字典的方法示例
2018/10/16 Python
Django中的ajax请求
2018/10/19 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
python 实现让字典的value 成为列表
2019/12/16 Python
Python读取Excel一列并计算所有对象出现次数的方法
2020/09/04 Python
Python爬取股票信息,并可视化数据的示例
2020/09/26 Python
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
倡议书范文格式
2014/05/12 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技
cypress测试本地web应用
2022/06/01 Javascript