本教程操作环境:windows7系统、HTML5版、Dell G3电脑。
在Html5中有两种绘图方式,一种是Canvas,一种是SVG。本篇文章就来带大家简单了解一下html5 svg的应用。
一、什么是SVG?
SVG 指的是可伸缩矢量图形 (Scalable Vector Graphics),它用来定义用于网络的基于矢量的图形,使用 XML 格式定义图形。SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失。此外SVG 是万维网联盟的标准,SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体。 2003 年一月,SVG 1.1 被确立为 W3C 标准。与其他图像格式相比,使用 SVG 的优势有以下几点:
1.SVG 可被非常多的工具读取和修改(比如记事本)2.SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强。3.SVG 是可伸缩的4.SVG 图像可在任何的分辨率下被高质量地打印5.SVG 可在图像质量不下降的情况下被放大6.SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图)7.SVG 可以与 Java 技术一起运行8.SVG 是开放的标准9.SVG 文件是纯粹的 XML
SVG 的主要竞争者是 Flash,与 Flash 相比,SVG 最大的优势是与其他标准(比如 XSL 和 DOM)相兼容。而 Flash 则是未开源的私有技术。
为什么要使用SVG?
SVG的真正价值在于它解决了现代Web开发中许多最棘手的问题,让我们看看使用SVG的好处,以及它解决了哪些问题。
1、可扩展性和响应能力
SVG是使用形状、数字和坐标(而不是像素网格)在浏览器中渲染图形,这使得它具有分辨率无关性和无限可伸缩性。如果你仔细想想就可发现,不管你是用钢笔还是用写字板,创建圆形的指令都是相同的,只是比例发生变化。
使用SVG,我们可以组合不同的形状、路径和文本元素来创建各种视觉效果,并确保它们在任何尺寸大小下看起来都十分的清晰明快。
相比之下,基于栅格的格式(如GIF,JPG和PNG)具有固定的尺寸,这使得它们在缩放时会像素化。尽管各种响应性图像技术已经证明对像素图形有价值,但它们永远无法真正与SVG的无限扩展(伸缩)能力竞争。
2、可编程性和交互性
SVG是完全可编辑和可脚本编写的,我们可以通过CSS或JavaScript将各种动画和交互添加到绘图中。
3、阅读无障碍
SVG文件是基于文本的,可以进行搜索和索引。这使得它们可以通过屏幕阅读器、搜索引擎和其他设备被阅读。
4、性能高
影响Web性能的一个最重要方面是网页上使用的文件的大小。与栅格图形(如GIF,JPG和PNG)相比,SVG图形通常是较小的文件。
二、SVG 实例
下面的例子是一个简单的 SVG 文件的例子。SVG 文件必须使用 .svg 后缀来保存:
代码解释:
第一行包含了 XML声明。请注意 standalone属性!该属性规定此 SVG文件是否是“独立的”,或含有对外部文件的引用。 standalone="no"意味着 SVG文档会引用一个外部文件 - 在这里,是 DTD文件。第二引用了这个外部的 SVG DTD。该 DTD 位于 W3C,含有所有允许的 SVG 元素。
1.SVG代码以 < svg > 元素开始,包括开启标签 < svg > 和关闭标签 < /svg > ,这是根元素。2.width和 height属性可设置此 SVG 文档的宽度和高度。version属性可定义所使用的 SVG 版本,xmlns属性可定义 SVG 命名空间。3.SVG的 < circle > 用来创建一个圆,cx和 cy属性定义圆中心的 x和 y坐标。如果忽略这两个属性,那么圆点会被设置为 (0, 0)。r 属性定义圆的半径。4.stroke和 stroke-width属性控制如何显示形状的轮廓。我们把圆的轮廓设置为 2px 宽,红色边框。5.fill属性设置形状内的颜色。我们把填充颜色设置为原谅色。关闭标签的作用是关闭 SVG元素和文档本身。注意:所有的开启标签必须有关闭标签!
HTML 页面中的 SVG
SVG 文件可通过以下标签嵌入 HTML 文档:< embed > 、< object > 或者 < iframe >。
三种把 SVG 文件嵌入 HTML 页面的不同方法。
使用 < embed > 标签
< embed > 标签被所有主流的浏览器支持,并允许使用脚本。
注释:当在 HTML 页面中嵌入 SVG 时使用 < embed > 标签是 Adobe SVG Viewer 推荐的方法!然而,如果需要创建合法的 XHTML,就不能使用 < embed >。任何 HTML 规范中都没有 < embed > 标签。语法:
< src="rect.svg" width="300" height="100" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/">
注释:pluginspage 属性指向下载插件的 URL。
使用 < object > 标签
< object > 标签是 HTML 4 的标准标签,被所有较新的浏览器支持。它的缺点是不允许使用脚本。
注释:假如您安装了最新版本的 Adobe SVG Viewer,那么当使用 < object > 标签时 SVG 文件无法工作(至少不能在 IE 中工作)!
语法: