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 实现侧边栏展开收起动画
Dec 22 HTML / CSS
解决CSS3的opacity属性带来的层叠顺序问题
May 09 HTML / CSS
CSS3模拟动画下拉菜单效果
Apr 12 HTML / CSS
CSS3实现王者匹配时的粒子动画效果
Apr 12 HTML / CSS
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
Apr 10 HTML / CSS
深入剖析webstorage[html5的本地数据处理]
Jul 11 HTML / CSS
html5 touch事件实现页面上下滑动效果【附代码】
Mar 10 HTML / CSS
html5 分层屏幕适配的方法
Mar 16 HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
Jul 26 HTML / CSS
详解HTML5中表单验证的8种方法介绍
Dec 19 HTML / CSS
如何给HTML标签中的文本设置修饰线
Nov 18 HTML / CSS
前端水印的简单实现代码示例
Dec 02 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
一个程序下载的管理程序(三)
2006/10/09 PHP
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
2011/11/07 PHP
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
JQuery设置文本框和密码框得到焦点时的样式
2013/08/30 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
详解Vue如何支持JSX语法
2017/11/10 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
express框架下使用session的方法
2019/07/31 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
Python中的自定义函数学习笔记
2014/09/23 Python
Numpy 将二维图像矩阵转换为一维向量的方法
2018/06/05 Python
python 异或加密字符串的实例
2018/10/14 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
简历自我评价怎么写呢?
2014/01/06 职场文书
三个儿子教学反思
2014/02/03 职场文书
教师党员岗位承诺书
2014/05/29 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
高中运动会广播稿
2015/08/19 职场文书