1概述
SVG是一种用XML定义的语言,用来描述二维
矢量及矢量/栅格图形。SVG提供了3种类型的图形对象:矢量图形(vectorgraphicshape例如:由直线和
曲线组成的
路径)、图象(image)、
文本(text)。图形对象还可进行分组、添加样式、变换、组合等操做,特征集包括嵌套变换(nestedtransformations)、剪切
路径(clippingpaths)、alpha蒙板(alphamasks)、滤镜效果(filtereffects)、模板对象(templateobjects)和其它扩展(extensibility)。
SVG图形是可交互的和动态的,能够在SVG文件中嵌入动画元素或经过
脚本来定义动画。
SVG能够算是目前最最火热的
图像文件格式了,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基于XML(Extensible Markup Language),由World Wide Web Consortium(W3C)联盟进行开发的。严格来讲应该是一种开放标准的矢量图形语言,可以让你设计激动人心的、高分辨率的Web图形页面。用户能够直接用代码来描绘图像,能够用任何文字处理工具打开SVG图像,经过改变部分代码来使图像具备互交功能,并能够随时插入到HTML中经过
浏览器来观看。
它提供了目前网络流行的GIF和
JPEG格式没法具有的优点:能够任意放大图形显示,但毫不会以牺牲图像质量为代价;可在SVG图像中保留可编辑和可搜寻的状态;平均来说,SVG文件比JPEG和GIF格式的文件要小不少,于是下载也很快。能够相信,SVG的开发将会为Web提供新的图像标准。
2简介
●SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
●SVG 用来定义用于网络的基于矢量的图形
●SVG 使用 XML 格式定义图形
●SVG 图像在放大或改变尺寸的状况下其图形质量不会有所损失
●SVG 是
万维网联盟的标准
●SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个总体
3优点
在 2003 年一月,SVG 1.1 被确立为 W3C 标准。
参与定义 SVG 的组织有:太阳微系统、Adobe、苹果公司、IBM 以及柯达。
与其余
图像格式相比,使用 SVG 的优点在于:
●SVG 可被很是多的工具读取和修改(好比
记事本)
●SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强。
●SVG 是可伸缩的
●SVG 图像可在任何的分辨率下被高质量地打印
●SVG 可在图像质量不降低的状况下被放大
●SVG 图像中的文本是可选的,同时也是可搜索的(很适合制做地图)
●SVG 能够与 Java 技术一块儿运行
●SVG 是开放的标准
●SVG 文件是纯粹的 XML
SVG 的主要竞争者是 Flash。
与 Flash 相比,SVG 最大的优点是与其余标准(好比 XSL 和 DOM)相兼容。而 Flash 则是未开源的私有技术。
目前,不是全部的
浏览器都支持 SVG,这也是 SVG 普及的最大障碍。Mozilla、Firefox 和 Opera 都支持 SVG,而
微软也计划这么作。在
微软最新发布的Internet Explorer 9 中已经提供了对SVG 格式的支持。
SVG
编辑器的数量正在增加,Adobe GoLive 5 也支持 SVG。
4实例
下面的例子是一个简单的 SVG 文件的例子。SVG 文件必须使用 .svg 后缀来保存:
代码解释:
第一行包含了 XML 声明。请注意 standalone 属性!该属性规定此 SVG 文件是不是“独立的”,或含有对外部文件的引用。
standalone="no" 意味着 SVG 文档会引用一个外部文件 - 在这里,是 DTD 文件。
第二和第三行引用了这个外部的 SVG DTD。SVG 代码以 <svg> 元素开始,包括开启标签 <svg> 和关闭标签 </svg> 。这是根元素。width 和 height 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间。
SVG 的 <circle> 用来建立一个圆。cx 和 cy 属性定义圆中心的 x 和 y 坐标。若是忽略这两个属性,那么圆点会被设置为 (0, 0)。r 属性定义圆的半径。
stroke 和 stroke-width 属性控制如何显示形状的轮廓。咱们把圆的轮廓设置为 2px 宽,黑边框。
fill 属性设置形状内的颜色。咱们把填充颜色设置为红色。
关闭标签的做用是关闭 SVG 元素和文档自己。
5展示
在chrome中引入的代码以下:
<object type="image/svg+xml"
data="/.../**.svg"></object>