为图形软件的开发添一新工具
本文作者 徐庆荣(武汉大学)
现有图形软件难于满足地图等复杂图件正规生产的要求
l 地图上表示的地理(自然的和人文的)要素极其复杂多样,在某一比例尺正规的普通地图上约有300种以上,须以不同形式的符号图形表达,而不同比例尺或不同用途的地图所采用的符号亦不尽相同。通常,须要针对不同形式的符号分别编制绘图函数,编程量庞大。再之,随着旧符号需适时更新和新符号的设计应用,绘图函数亦须不断更改和扩充,软件维护将极其繁重,且是软件生产者所无法及时做到的。目前,一些商品图形软件(如CorelDraw,AutoCAD,以及GIS的制图模块等)不能完全适应复杂多变的地图符号。例如,它们只提供有限的几种线型,当遇到复杂形式的地图线状符号时,只好采用由若干种线型多次叠绘组成,或人工编辑操作而成,甚是繁琐。
l 地图注记往往欲依地理要素的自然分布进行配置,字向、字距和注记排列走向须能任意变化,但一般文字处理或图形软件难于做到,只能逐字定位和调整,效率甚低。
l 在某些地图上(主要是小比例尺地图),无论符号或注记的方向都须与经纬线方向保持协调,但现有各图形软件均无此种功能,只能通过人机交互方式逐个调整符号或注记方向。
制图软件设计的新思维
l 采用“与图形结构无关”的算法,使同一绘图函数能绘出任意给定形式的符号(个体的/线状的/面状的,并能顾及经纬线方向),软件开发人员不必为特定符号另编或修改绘图函数,完全免去此种繁重的软件维护工作。
l 采用基于“基线”(代表地理分布的直线或各种曲线)的注记整体配置法,使一串文字注记能按“基线”位置并顾及经纬线方向作整体自动配置。
基于上述新思维的成果--UGS ( Universal Graphics Software )
l UGS是笔者在深入研究地图等各种图形表示方法和特点的基础上精心设计而成的。UGS 已由CSDN(图形处理类)发布:
http://www.csdn.net/cnshare/shtm/18.shtm
l UGS面向软件开发人员,属于工具软件。
l UGS的图形数据采用矢量方式。
l UGS的核心是动态连接库UGSD32.DLL(含UGS的类库,绘图与注记函数,具有初始化、符号输出和注记配置、符号库信息查询等功能),它可被C++ for Windows 的各种应用程序连接。
l 与动态连接库UGSD32.DLL配套的符号库软件SYMDBW.EXE用于创建、编辑、存储各类符号的图案(可由多种色彩多个图元任意组合)。
UGS的工作过程
欢迎讨论与联系
l 欢迎同行和图形软件用户们批评指正。
l 若有需要,笔者可提供关于UGS的进一步信息。
相关文章:“与图形结构无关”的矢量绘图算法
http://www.csdn.net/Develop/read_article.asp?id=13616
联系方式:可在CSDN论坛向xqr发短信息。