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 calc()会计算属性详解
Feb 27 HTML / CSS
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
Dec 19 HTML / CSS
HTML5应用之文件上传
Dec 30 HTML / CSS
网页中的电话号码如何实现一键直呼效果_附示例
Mar 15 HTML / CSS
HTML5实现锚点时请使用id取代name
Sep 06 HTML / CSS
HTML5样式控制示例代码
Nov 27 HTML / CSS
HTML页面中添加Canvas标签示例
Jan 01 HTML / CSS
AmazeUI 按钮交互的实现示例
Aug 24 HTML / CSS
浅析HTML5 Landmark
Sep 11 HTML / CSS
z-index不起作用
Mar 31 HTML / CSS
Html5大屏数据可视化开发的实现
Jun 11 HTML / CSS
VW、VH适配移动端的解决方案与常见问题
May 21 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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
php 生成唯一id的几种解决方法
2013/03/08 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
2015/07/27 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
js+css实现打字效果
2020/06/24 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
浅谈Python小波分析库Pywavelets的一点使用心得
2019/07/09 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
浅谈Python中函数的定义及其调用方法
2019/07/19 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
python实现打砖块游戏
2020/02/25 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
人力资源主管职责范本
2014/03/05 职场文书
生日礼品店创业计划书范文
2014/03/21 职场文书
西柏坡导游词
2015/02/05 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android
vue+echarts实现多条折线图
2022/03/21 Vue.js