CorelDRAW软件的二次开发在地图制图中的应用与实例
2010-09-28曾克明
曾克明
(湖南地图出版社,湖南长沙 410007)
CorelDRAW软件的二次开发在地图制图中的应用与实例
曾克明
(湖南地图出版社,湖南长沙 410007)
针对CorelDRAW软件在地图制作时符号的输入、修改替换和特种线型的输入、缩放的绘制工作量大等难点,应用二次程序开发功能,较好地解决了生产过程中遇到的上述问题,并举例说明符号替换和河流粗细变化程序的基本思路和部分源程序设计方法实例。
CorelDRAW;二次开发;脚本程序;VisualBasic;程序设计
地图是根据一定的数学法则,将地球上的自然和社会现象,通过制图综合所形成的信息,运用符号系统缩绘到平面上的图形,以传递它们的数量和质量在时间上和空间上的分布和发展变化[1]。地图按内容分为普通地图和专题地图两大类,本文侧重于探讨专题地图。鉴于专题地图有别于普通地图的几何精度和专题地图内容表示方法的多样性, CorelDRAW、Freehand、Illustrator等矢量绘图软件常用来创造美观、生动的专题地图,其中应用最广的是CorelDRAW软件。
一、CorelDRAW地图制图的优缺点
Corel公司创立于 1985年,CorelDRAW软件以其高质量的工具软件、PC绘图及多媒体软件在全球的图形软件和商业应用软件领域处于国际领先地位。到目前为止,CorelDRAW软件已经公布了 15个版本。在地图制作中,CorelDRAW软件的优点是易学易用,线划、文字、符号的输入方便快捷,形成的矢量文件小,在创制地图艺术性方面有着出色的表现,让使用者可以非常自由地发挥与创造。但是CorelDRAW不是地理信息系统软件,在地图制图中难免存在一些不方便的地方。比如 CorelDRAW在符号输入、符号修改替换、长城线型符号的制作、标准国界、统改线型等过程时,制作非常麻烦,不易修改,而且制作出来的产品也不标准。针对这些不足,我们利用 Core lDRAW软件本身具有的二次开发功能,进行了一些研究,编写了一些程序,由计算机来完成这些较难的工作,取得了一些效果。
二、程序设计
CorelDRAW软件的二次开发常用的主要有两种方法,一种是相对比较简单的 Corel Script脚本程序,另一种是VisualBasic语言程序设计。笔者利用这两种方法进行了程序开发,将一些工作量大的操作做成了程序,如地貌符号的替换、河流的渐变等。这些程序的开发将原来需要一天的工作量,缩短为最多 1小时,而且自动化、智能化程度很高,极大地提高了我社地图制作工作的效率。
1.Corel Script程序化语句及函数(脚本设计)
Corel Script程序化语句及函数是由传统的Basic程序化语言所衍生出来的。Corel Script有一个非常方便的录制程序,在录制的状态下,用户的操作将被录制,并形成一个 Script文件,方便下次使用。使用 Corel Script程序语言,可以让图形图像处理工作自动化,达到事半功倍的效果。但并不是所有操作都可以通过录制来生成脚本程序,应用程序函数就是无法录制的,必须手动将其写入 Script中。
Corel Script例子 (显示一个简单的 Corel Script,先检查选取对象的尺寸,然后将其尺寸加倍):
脚本程序在地图制图中,经常用于特效字体的设计,利用脚本程序可以事半功倍。
2.Visual Basic语言程序设计
VisualBasic语言程序设计需要一定的程序设计基础。
下面以笔者主持设计的两个程序(符号替换和河流变化)为例,说明 Core lDRAW二次开发在地图制图的应用实例。
(1)符号替换
基本思路:中心坐标不变,用一个对象替换另一个对象。
具体步骤:
1)将标准符号命名,并计算符号中心位置的坐标(X1,Y1)
X1=shape1.Positionx,Y1=shape1.Positiony
2)计算需替换的符号的中心位置坐标(X2,Y2)
X2=shape1.Positionx,Y2=shape1.Positiony
3)将标准符号复制至需替换符号的位置,进行替换,并删除原符号
Set shape2=shape1 Duplicate(x2-x1,y2-y1)循环 1)~2),可以完成每一个符号的替换。在实际操作时,可以将此程序做成一个工具,便于使用,具体操作过程是:
1)制作一个标准符号,确定好参数,并将它命名为“fuhao”(也可以是其他名称,只要在程序设计时确定);
2)选择所有需要替换的符号和标准符号;
3)运行程序,自动完成符号替换。
源程序(测试通过):
(2)河流自动变化
基本思路:定义河流起始和结尾粗细,中间自动变化。
主程序(已测试通过,具体步骤不再赘述):
以上就是符号替换和河流自动变化的源程序,当然,还可以进一步完善它,比如增加替换的符号数目计算、时间、算法和人机对话功能,增加河流自动打断的人工智能等。
三、结束语
河流粗细变化、特效字体制作和符号替换是目前应用 CorelDRAW的二次开发比较多的情况,由于地图的复杂性,还有许多问题尚待进一步研究解决,例如绘制万里长城符号、标准国界 (“工”字型)等一直是地图中绘制和修改的难题。
[1] 祝国瑞.地图学[M].武汉:武汉大学出版社,2004.
[2] 东箭工作室.CorelDRAW 9中文版初中级教程 [M].北京:清华大学出版社,2000.
[3] 罗寿枚.专题制图原理及其计算机应用 [M].长沙:湖南地图出版社,2001.
[4] 闫浩文,褚衍东,杨树文,等.计算机地图制图原理与算法基础[M].北京:科学出版社,2007.
Secondary Development of Software CorelDRAW:Applications and Examples
ZENG Keming
0494-0911(2010)08-0060-02
P283.7
B
2010-04-21
曾克明(1974—)男,湖南浏阳人,工程师,主要从事计算机地图制图工作。