SVG图象技术及其简单应用

时间:2022-10-04 08:40:14

SVG图象技术及其简单应用

摘要:SVG(可扩展矢量图形)是一套基于XML的二维可缩放矢量图形规范。其应用主要是在网络地图方面,然而传统方法在该应用中存在很多发展瓶颈,诸如空间信息的动态变化实现困难、GIS数据共享、传输速度不容乐观等。SVG图像技术具有适合网络的优点,能有效解决目前地图网络面临的难点问题。该文讨论了SVG语法规范,并给出SVG在图象领域中的应用实例,得出SVG在网络应用领域优于传统表示方式的结论。

关键词:SVG;SVG规范;SVG图象技术;图象;应用

中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)02-436-01

SVG(Scalable Vector Graphics)是W3C组织为适应Internet应用的飞速发展需要而制定的一套基于XML语言的二维可缩放矢量图形语言描述规范。国内外的SVG应用主要是在网络地图方面,然而传统的HTML静态页面描述语言的采用的标记固定、有限且无内涵、不支持矢量图形等缺点日益暴露出来,已经越来越满足不了网络地图的要求。

目前在Web页面中嵌入图形格式分为两大类:位图格式和矢量图格式。位图图像是用像素来描述图像属性的。通常看到的位图文件格式有BMP,JPG,GIF等。与位图不同的是,矢量图形是基于面向对象的,它利用矢量来描述图像属性。所以相对位图格式,它的体积一般都很小。比较知名的矢量图形格式有CDR文件等。但是矢量图形在精度、兼容性等方面却存在很大缺陷。

以上提到的图形技术存在很多不足之处,位图文件通常占用空间比较大,而且不适宜缩放,在Web页面上的下载和显示都很受限制。而矢量图的文件格式又存在显示精度不够、技术相对封闭、兼容性不高的缺点。所以基于以上的缺陷若要在Web页面上实现高质量(分辨率,低容量)的地图文件,需要一种全新的图形技术来解决这个矛盾。XML作为公认的世界未来统一格式标准已经为越来越多的领域所应用。SVG作为XML的一个描述矢量图形的子集的出现,为解决网络地图面临的静态性,数据格式多样性,平台相关的Web内容表现和缺乏交互性,网络传输慢等问题提供了一个全新的解决方法。本文简明扼要的介绍SVG图象技术,最后给出一个典型实例来加以说明。

1 SVG图象技术

SVG,可扩展矢量图形规范是一种基于XML 的用来描述二维矢量图形和矢量/点阵混合图形的置标语言。其中,"可扩展"(scalable)在图形图像技术上指的是它不局限于一个固定的分辨率和大小,譬如可以在不同分辨率的屏幕上以相同的大小显示,也可以在同一个网页中以不同的大小或观全局或观细节;而在网络技术上指的是这一规范能够与其它规范相融合,从而满足更广泛的用户需求,适合于更广泛的应用方式。"矢量"(vector)是指规范中描述了直线、曲线、形状等几何图形,而无须象PNG、JPEG等图像格式那样逐象素进行描述,这使得集成了SVG的XML文档更小,下载速度也大大提高。"图形"(graphics)是指它提供了对矢量和矢量/栅格混合图形的描述,填补了大多数基于XML的置标语言规范对复杂图形描述的空白。目前,Mozilla浏览器已经实现内嵌支持SVG,Firefox从1.5版本开始支持SVG1.1的一个子集。但IE和Netscape等Web浏览器都不能直接支持SVG文件的编译和浏览,必须安装SVG图形浏览插件。Adobe就提供了一套非常优秀的免费插件Adobe SVG Viewer。

SVG规范定义了SVG的特征、语法和显示效果,包括模块化的XML命名空间(namespace)和SVG文档对象模型(DOM)。其中DOM定义了XML和HTML文档的逻辑结构,给出了一种访问和处理XML和HTML文档的方法。在应用程序中,基于DOM的XML分析器将一个XML文档转换成了一个对象模型的集合(这个集合中被称为DOM树),开发人员通过对该对象模型的操作,来实现动态的创建XML文档,遍历文档结构,添加、修改、删除等操作。在实际操作中,SVG的绘图则是以嵌入方式或脚本方式来实现的。SVG定义了丰富的事件,如鼠标,键盘,用户界面事件等,这些事件可以应用于所有的图形对象。高级网页制作者仅须进行简单的JavaScript编程,访问SVG DOM的元素和属性,即可响应特定的事件,从而提高了SVG的动态和交互性能。

2 实例应用

SVG作为XML的一个子集,完全遵从XML的语法规范和标准,下面通过一个实例来说明。详细的语法规范见W3C标准组织的官方网站公布的SVG格式规范(V1.2)。

svg

SVG文件必须保存扩展名为“.svg”格式。用浏览器打开svg文件即可。此SVG文件只占用了495字节的空间就可以描述文字、图形、线段等内容,远远小于一副图象的空间,由于SVG图象是矢量图形,我们也可以方便地在该文件中检索文字、图形等数据。

3 结束语

本文介绍了SVG图象及其在网络中的应用,从实例中可以看出SVG在网络领域中有着广泛的应用前景。

参考文献:

[1] 裴玉.基于SVG的自适应软件界面开发工具设计与实现[J].计算机科学,2008,35(1):271-273.

[2] 刘啸.基于XML的SVG应用指南[M].北京:科海电子出版社,2001.

[3] 周文生.基于XML的开放式万维网地理信息系统的理论与实践[D].武汉:武汉大学,2002.

上一篇:快艇运动系统仿真模型的实现 下一篇:浅谈在PowerBuilder中实现Socket通信