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 3D立方体效果示例-transform也不过如此
Dec 05 HTML / CSS
CSS Grid布局教程之什么是网格布局
Dec 30 HTML / CSS
使用CSS3来实现滚动视差效果的教程
Aug 24 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
Mar 06 HTML / CSS
CSS3 实现的缩略图悬停效果
Dec 09 HTML / CSS
利用html5 canvas动态画饼状图的示例代码
Apr 02 HTML / CSS
详解通过变换矩阵实现canvas的缩放功能
Jan 14 HTML / CSS
HTML5 canvas画矩形时出现边框样式不一致的解决方法
Oct 14 HTML / CSS
HTML5调用手机摄像头拍照的实现思路及代码
Jun 15 HTML / CSS
HTML5实现WebSocket协议原理浅析
Jul 07 HTML / CSS
HTML5拍照和摄像机功能实战详解
Jan 24 HTML / CSS
HTML5之高度塌陷问题的解决
Jun 01 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简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
JavaScript代码实现左右上下自动晃动自动移动
2016/04/08 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
2018/03/05 Javascript
JavaScript设计模式之构造函数模式实例教程
2018/07/02 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
python实现调用其他python脚本的方法
2014/10/05 Python
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
Python中每次处理一个字符的5种方法
2015/05/21 Python
django admin组件使用方法详解
2019/07/19 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
使用HTML5技术开发一个属于自己的超酷颜色选择器
2013/09/22 HTML / CSS
《猴子种树》教学反思
2014/02/14 职场文书
美术指导求职信
2014/03/17 职场文书
护士求职信范文
2014/05/24 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
十岁生日答谢词
2015/01/05 职场文书
工程部岗位职责
2015/02/10 职场文书
报案材料怎么写
2015/05/25 职场文书
企业法律事务工作总结
2015/08/11 职场文书