浅析Corel DrawVBA在地图制图中的应用

2014-04-17 03:16
科技视界 2014年22期
关键词:色值菜单栏制图

吴 瑨

(沈阳市勘察测绘研究院,辽宁 沈阳 110004)

1 CorelDraw与VBA简介

CorelDraw是近年来被广泛应用在地图制图领域的矢量图处理软件,相对于传统的地图制图软件ArcGis、MapGis等,作为专业的图形图像软件,在地图的美观性上,coreldraw有其无法比拟的优越性,并且在出图印刷上,coreldraw也有着其他软件所不具备的优势,在菜单文件选项下,它有专门的“为彩色输出做准备”一项。

但由于CorelDraw不是专业的地图制图软件,所以在地图制图中,作业人员要综合应用包括CorelDraw在内的多种软件协同配合才能制作出一幅精良的地图。[1]

通常的过程是,应用ArcGis做初期的数据采集与库管理工作,然后应用MapGis做初步的地图成图、注记标注等,最后用CorelDraw进行图面美化与细节修饰等。

1998年corel公司做出战略调整,在CorelDraw中集成了VBA,极大的改善了CorelDraw的拓展功能,使用户可以二次开发出适合自己应用的宏。[2]

VBA(Visual Basic for Applications)是 Microsoft Visual Basic(VB)面向对象程序开发环境的一个子集,是新一代标准宏语言。VBA使用Visual Basic Editor交互开发环境和VB语言操作应用程序的对象来增强应用程序的功能。

VBA为用户提供了一套客户化CorelDraw应用程序的图形用户界面,用户可以对应用程序中的对象进行有效地操作和处理。VBA使用VB语言,由于它多用于集成到别的应用程序并对应用程序的函数进行客户化,它才加上了“for Applications”,称作VBA。[3]

VBA可以通过记录和运行宏来自动化一系列CorelDraw的任务。更重要的是可以使用VB语言和应用程序内部函数来开发更多的适合用户需要的功能。

VBA继承了VB的开发机制,具有与VB相似的语言结构。它们的集成开发环境也几乎相同。

2 如何使用CorelDraw VBA

CorelDraw VBA支持用户自行录制宏。

如图1所示,在菜单栏中,选择工具——Visual Basic——录制,命名宏并保存,开始录制宏,用户可以对文件进行处理,以达到自己预期的效果,然后停止录制,需要的时候,选择播放宏,播放录制好的宏,可重复录制的过程。

然而简单的录制宏,远远无法满足复杂操作的需求,这时候需要应用Visual Basic编辑器来编辑适合的宏。

以CorelDraw X3为例,在编辑宏前,首先需要在文件夹C:Program FilesCorelCorelDRAW Graphics Suite 13DrawGMS下新建一个文件后缀为.gms的文件。

步骤为,新建一个文本文档并命名,再将文本文档的后缀.txt改为.gms,如果无法更改后缀,则需要先将工具——文件夹选项——查看下的“隐藏已知文件拓展名”选项前的对号勾掉。

然后再启动CorelDraw,新建文件,或是打开一个已有文件,在菜单栏下选择工具——Visual Basic——Visual Basic编辑器 (快捷键Alt+f11),在工程——GlobalMacros窗口找到新建的GMS文件,便可以编辑宏了。

VBA继承了VB的开发机制,与VB有相似的开发语言,他们的集成开发环境也几乎相同,不同之处在于,VB可以生成独立的应用程序,但VBA只能生成运行在宿主程序中的宏。[4]

Visual Basic编辑器界面与VB界面很相似,程序的编译与调试过程也与VB类似,有一定编程基础的人会很快熟悉并编制出适合自己的宏。

图1

3 运用VBA编译自动生成CMYK色表的宏

应用多种软件精心制作出的地图,最后一般会通过CorelDraw来出图印刷或喷绘。

在CorelDraw菜单栏下,选择文件——为彩色输出中心做准备,点选搜集与文档相关联的所有文件,复制字体,生成PDF文件,便会生成一个专门用于印刷或喷绘的文件夹。

但在印刷或喷绘过程中,由于机器的型号、油墨的色值、纸张的选择等多种因素,会影响打印质量,使预先调配好的颜色并不能达到预期效果,尤其是出图数量不大的情况下而采用的打印机喷绘,色差更为严重。[5]

由此可见,制作出一套专用于某次印刷工序或某一打印机的色表很有必要。

但一套色表,以CMYK色彩模式为例,即使色值密度选为50,需要绘制的色块也要八十个,加上文本注释、标题、横纵坐标等,需要绘制的对象要超过一百六十个,况且,色表要用于调色配比,色值密度选为50过于稀疏,色值密度20的时候,对象则要超过两千五百个。

CorelDraw VBA的优势在于通过程序编译,可以让计算机自动完成一系列有内在规律、重复性高的工作。就像色表,如此繁多的对象,不借助CorelDraw的VBA工具去机辅绘制,会是一项工作量极大且难以完成的工作。

色表生成器的数学逻辑为,循环定位坐标,绘制矩形,为矩形赋值(颜色),并在对应矩形下生成文本标注。

程序释义为,该VBA程序为一个循环程序,通过数值的增加,改变相关联的属性和赋值(矩形四角坐标、矩形颜色、文本内容有内在联系),并在文件中生成正确的色表。

程序主要代码与注释如下:

图2

文本框内可输入用户需要的色值密度,本次输入“100”仅作示例。

程序运行结果如图3所示。

生成色表之后,可以在菜单栏下选择文件——打印设置中点选“设置打印参数”,将色表打印出来,并根据该打印出的色表来配比地图的颜色。

色表的制作不仅仅适用于地图制图领域,还可以应用于其他图像设计领域,图像设计必然会涉及到颜色配比,只要涉及到颜色配比,色表便有其不可或缺的独到用处。

图3

4 设置宏的快捷启动项

当对CorelDraw VBA熟悉之后,作业员可能会用VBA编译出经常使用的宏,如果每次都通过菜单栏下的工具——Visual Basic——播放来选择运行宏,会很繁琐而不便。

可以通过如下的方法,将宏添加在菜单栏中,不需要每次都去窗口中寻找,方便快捷。

步骤如下:

打开菜单栏下的工具——自定义,点击命令栏,新建一个命令栏“我的工具”,如图4所示。

图4

然后点击命令,在下拉窗口中选择宏,选中需要的宏,鼠标左键拖拽到新建的命令栏中,如图5所示,确定即可。

图5

以后每次需要运行该宏的时候,点击命令栏中该宏的图标便可启动。

在命令窗口中,也可以对宏的常规、快捷键、外观加以设计。可以用这种方法添加多个宏的命令栏启动项。

5 结束语

本文主要阐述了CorelDraw VBA在地图制图领域的应用,对于重复性高、有内在规律的制图工作,利用VBA编制的宏有很大的优势,可以极大的缩短工作时间、降低工作量。在繁复的制图工作中,找到一些重复操作的技巧,究其逻辑性,根据其规律编译出解决问题的宏,借助计算机实现自动化,会使地图制图工作变得更加准确高效。

[1]姚兴海,姚磊.CorelDRAW地图制图[M].中国地图出版社,2008,6:1-203.

[2]CorelDRAW/Corel DESIGNER VBA macros[OL].http://www.oberonplace.com/vba/drawmacros/index.htm.

[3]司连法.基于Coreldraw 10进行VBA二次开发和实例解析[OL].http://www.chinamap.com/CORE/Catalogue.htm.

[4]张建辉.Visual Basic从初学到精通[M].电子工业出版社,2010,6:1-517.

[5]Rick McCleary.CMYK 2.0:设计师色彩管理手册[M].人民邮电出版社,2010,4:1-254.

猜你喜欢
色值菜单栏制图
无声手枪如何消音?
细碎星子,汇成不灭的银河
基于模型分析评估浓缩苹果清汁贮存过程中的色值变化
二向反射模型在土地覆被制图中的应用
论糖品在制品色值检测原理及其应用
试析Access2010中利用宏实现自定义菜单
白砂糖色值与pH关系模型的研究测定
工程制图课程教学改革探析
建筑工程制图与识图专业人才培养的探讨