web图形方案比较html五、GML、SVG、VML

web图形方案比较html5GMLSVGVML

GML、SVG和VML都是基于XML的可用来描述矢量图形的标记语言,都是XML词表,它们的语法并不难理解,但它们都有各自不一样的用途和特色,下面简单介绍一下。

GML(Geography Markup Language)

是基于XML的空间信息编码标准,由OpenGIS Consortium (OGC)提出,获得了许多公司的大力支持,如Oracle、Galdos、MapInfo、CubeWerx等。运用GML,封装的地理数据和图形解释是清楚分离的。

GML基于XML用文本表示地理信息

因为GML可当作是XML的一个具体的词表,熟悉了XML就比较容易理解GML。并且随着XML的应用日益普遍,GML也将受益。另外文本比较简单、直观,容易理解和编辑。

GML封装了地理信息及其属性

GML 基于地理信息抽象模型,即空间实体特征及属性封装。地理特征包括一系列的属性和相应的几何信息,通常来讲属性由名字、类型和值组成,几何信息由基本元素如 点、线、面、曲线、多边形等组成。目前GML主要局限在二维应用,正扩展到二维半和三维空间以及特征间的拓扑关系。GML容许至关复杂的特征,如特征间的 嵌套。例如飞机场由出租汽车道、飞机跑道等组成。

GML封装了空间地理参考系统

空间地理参考系统是地理信息系统数据处理的基础。GML封装了空间地理参考系统、主要的投影关系等,保证分布式处理的扩展性和灵活性。

GML能够实现地理数据的分布式存储

GML对地理数据的分发是很是方便的技术手段,但其做用不止局限于此,一样能够成为地理数据分布式存储的重要手段。主要的技术工具是XLink和Xpointer。

从上边的介绍能够看出GML做为描述空间信息的元语言的一些优势。它只能描述空间实体的矢量信息和属性,具体显示的时候可采用两种不一样的途径:
GML Drawà Display
GML Transform à SVG, VML Draw àDisplay
第一种途径须要直接操做GML数据进行分析并显示。
第二种途径是把GML数据转换成相应的图形格式的数据,例如SVG,VML及X3D。而后由已经存在的支持这几种图形格式的软件进行显示。下面介绍一下SVG和VML。

VML(Vector Markup Language)

是一个最初由Microsoft开发的XML词表,如今也只有IE5.0以上版本对VML提供支持。使用VML能够在IE中绘制矢量图形,因此有人认为VML就是在IE中实现了画笔的功能。下面介绍一下VML的优势:

基于XML标准

XML是公认拥有无穷生命力的下一代网络标记语言,VML具备先天的优点,它的表示方法简单,易于扩展等等。

支持高质量的矢量图形显示

VML 支持普遍的矢量图形特征,它们基于由相链接的直线和曲线描述路径。在VML中使用两个基本的元素:shape和group。这两个元素定义了VML的所有 结构;shape描述一个矢量图形元素,而group用来将这些图形结合起来,这样它们能够做为一个总体进行处理。

VML规范包括大量的支持多种不一样矢量图形特征的元素。下面是VML的预约义图形元素:
Shape 
Path
Line 
Polyline
Curve 
Rect
Roundrect
Oval
Arc
Group

由 文本构成的图像,并可集成到HTML。因为VML使用简单的文原本表示图像,这样就可用不多的字节来表示比较复杂的图像。VML与HTML兼容,经过在 HTML中声明VML命名空间并声明处理函数,就能够和其余HTML元素同样使用VML元素,在客户端浏览器显示图像。VML标记里面能够定义DHTML 大部分属性和事件,好比说id, name, title, onmouseover 等等。

支持交互与动画

VML的功能不仅是绘图,他还能够在图形中嵌入文本,并可实现超链,还可经过脚本语言实现必定的动画功能。

SVG(Scalable Vector Graphics)

SVG 是一种基于XML的开放的矢量图形描述语言。SVG图像是与XML1.0兼容的文档,SVG元素是指示如何绘制图像的一些指令,阅读器(Viewer)解 释这些指令,把SVG图像在指定设备上显示出来。使用SVG能够在网页上显示出各类各样的高质量的矢量图形,支持不少您想象得出的功能:几何图形、动画、 渐变色、滤镜效果等。最关键的是,它也是彻底用普通文原本描述的!也就是说,这是一种专门为网络而设计的基于文本的图像格式。

SVG是对PGML和VML的一种综合,因此VML的优势也就成为SVG的优势,例如:
基于XML标准
高质量的矢量图像
由文本构成的图像

我 们能够不用任何图像处理工具,仅仅用记事本就能够生成一个SVG图像。这对于图像处理的工做者来讲可能会感到难以想象。其实仔细想一想也能够理解,矢量图像 通常是以算法指令来描述,创建在文本基础上的SVG图像中全部的描述语句均可以直接观察到,因此也很是容易进行二次修改与更新,"可升级"的特色在这里可 以获得恰当的反映。

另外,与VML相比SVG还有一些优势:

灵活的文件格式

SVG 可升级的特性不只仅表如今二次修改方面,还表如今另外不少地方,包括这里介绍的灵活的文件格式。在之前的图像中,文本都做为位图而保存于图像中,图像造成 之后不能单独对文本进行修改;在PNG格式中这一点有所改进,文本可做为一个独立的层存在;SVG更灵活地扩展了图像的文件格式,它由三个部分组成:矢量 图形、位图和文字。这样SVG不只仅能够应用矢量图像和文字对象,一样能够归入位图,能够制做出任何其它格式图像能达到的效果。因为文件格式是文本形式 的,能够很容易地在之后任什么时候候进行修改。并且在页面运行的过程当中,也能够对不少部分作即时的修改,其中的图形描述还能够重复使用。

支持交互和动画

SVG支持SMIL(synchronized multimedia integration language),使得用户能够自由的同SVG中的元素完成一些交互的动做,从而完成既定的目标,这一点在目前单独依靠图片是完成不了的,须要由网页中的脚本语句来实现。 

支持字符查找 

查找"图片"中的字符,在SVG中成为可能。而这在其它格式的图片文件中则是不可能的。

支持Xlink 和Xpointer 

这样就能够在SVG文档之间制做超级连接。

SVG 做为W3C组织正式推荐的图像格式,拥有众多的支持机构。像Adobe公司已经宣称将在推出的Adobe图像处理套件如Illustrator、 Photoshop、GoLive和Cyber Studio中集成SVG的所有功能,而且还提供Netscape Navigator和IE的插件,以 便使其可以直接支持SVG文件的浏览。Netscape和Microsoft公司也已经开始进军SVG领域,这标志着将来的网络浏览器将会内置对SVG文 件的支持功能。

总结

GML、SVG、VML都与矢量图形有着密切的关系:GML在表 示实体的空间信息的同时加入了实体的其余属性信息,是表示实体的空间信息和属性的编码标准,但它并不支持直接显示图形。而VML和SVG是在表示图形的矢 量信息同时加入了图形的显示信息(即以什么样的样式显示矢量图形),是显示矢量图形的两种比较好的格式。相比之下,SVG是综合了VML的优势后推出的, 是国际标准,它比VML具备更多的优势,也有更广阔的前景。但因为VML有IE的支持,而SVG要想在浏览器中显示就须要安装插件,在这一点上,VML优 于SVGhtml

相关文章
相关标签/搜索