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,js)
Dec 12 HTML / CSS
基于css3 animate制作绚丽的动画效果
Nov 24 HTML / CSS
CSS3实现背景透明文字不透明的示例代码
Jun 25 HTML / CSS
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
Dec 29 HTML / CSS
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
Jan 09 HTML / CSS
分享全球十款超强HTML5开发工具
May 14 HTML / CSS
HTML5 video标签(播放器)学习笔记(一):使用入门
Apr 24 HTML / CSS
整理HTML5移动端开发的常用触摸事件
Apr 15 HTML / CSS
详解Html5 监听拦截Android返回键方法
Apr 18 HTML / CSS
使用html2canvas实现将html内容写入到canvas中生成图片
Jan 03 HTML / CSS
一个基于canvas的移动端图片编辑器的实现
Oct 28 HTML / CSS
HTML页面滚动时部分内容位置固定不滚动的实现
Apr 14 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正则的Unknown Modifier错误解决方法
2010/03/02 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
Add Formatted Text to a Word Document
2007/06/15 Javascript
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
使用Kivy将python程序打包为apk文件
2017/07/29 Python
对numpy中shape的深入理解
2018/06/15 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
HTML5在a标签内放置块级元素示例代码
2013/08/23 HTML / CSS
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
大学生2014全国两会学习心得体会
2014/03/10 职场文书
青年文明号创建承诺
2014/03/31 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
把77A收信机改造成收音机
2022/04/05 无线电