论文部分内容阅读
摘要:CorelDraw是基于windows平台的向量绘图软件,由于其精良的矢量图处理功能,近年来被广泛应用于地图制图领域。与业内常用的地图制图软件AutoCad、MapGis等相比较,CorelDraw的优势在于美观与完备的图片处理功能,然而它并不是专业地图制图软件,所以在地图制图领域,由于其良好的程序兼容性,尚有一些方面可以进行二次开发,使其更加适用于地图制图。在本文中,笔者应用Visual Basic汇编语言,开发了适用于CorelDraw地图制图的拓展程序,对CorelDraw的地图制图应用进行了完善,使其更适用于该领域的应用。
1 应用前景
CorelDraw是由加拿大Corel公司推出的一款功能强大的矢量图形处理软件,由于其强大而美观的绘图功能,在地图制图领域得到广泛的应用。
Visual Basic是微软公司开发的包含协助开发环境的事件驱动编程语言,拥有图形用户界面和快速应用程序开发系统,可以轻松地使用数据库访问技术。Visual Basic拥有系统界面友好、交互性强、事件驱动、面向对象的应用程序开发环境。
地图制图是一项严谨而规范性强的工作,在挂图、地图册、专题地图的制作过程中,对于图的符号、注记、线型、面色等都有严格而统一的标准。
如果能在已知制图标准的基础上开发出一款应用拓展程序,例如图例板,不仅会简化制图工作,也可以强化统一标准。
当进行大型地图编辑项目时,需要大量的人手,但这些人员可能并不是专业的地图制图人员,对CorelDraw并不熟悉,而他们所需要进行的,又是一项重复性与规则性极强的工作,该应用拓展程序的开发,简化制图工作的同时,也简化了对这些抽调人员的培训,节省了时间成本,使其快速的投入工作中,也会极大的降低工作难度。
本文既是利用Visual Basic汇编语言,开发出CorelDraw的应用拓展程序,该拓展程序以图例板与常用辅助工具为主,简化了制图过程,并强化了制图过程中的规则性,该应用拓展程序与CorelDraw主程序有良好的兼容性。
2 基本原理
与CorelDraw自带的基于VB的程序设计语言VBA(Visual Basic for Application)相比较而言,Visual Basic可以生成独立的可执行文件(EXE),VBA只能生成在主程序中才可以被调用的宏(GMS),概括说来,VBA简单易用,VB则复杂全面。
CorelDraw中集成的VBA可用来开发图形解决方案平台,如自动处理、定制功能、批处理等。
在CorelDraw窗口中,选择菜单栏中的工具选项下的Visual Basic,可以进行宏的录制,或者选择Visual Basic编辑器编辑代码进行应用。
本文介绍利用VB开发的拓展程序在CorelDraw中的应用,该应用拓展程序中主要涉及的方面为:对象的创建、线型的设定、面域的填充、循环结构的运用、动态链接库的调用等。
3 程序应用
2.1 安装
笔者在完成此拓展程序之后,已经将其打包成安装程序,这样更易于安装与操作,出于软件更新的考虑,笔者在安装程序中也加入了卸载选项。安装路径界面如图1所示,卸载完成界面如图2所示。
图1安装路径界面
图2卸载完成界面
2.2 运行
安装完成地图制图拓展之后,运行CorelDraw,在菜单选项下会出现一个新的工具栏。这就是与CorelDraw兼容的地图制图应用拓展程序。新增工具栏“地图制图”如图3所示。
图3“地图制图”工具栏
2.3 释例
在“地图制图”工具栏中。
第一个图标为点位处理,在同一图层里,该工具可自动判别符号与注记,并只更改符号,而不改变注记,全部居中替换所要更改的符号,该程序完全不同于CorelDraw自带的符号库功能,符号库适用于前期画图,不适用于后期修图,不能完成点位坐标捕捉功能和批量自动替换。
该子程序窗口如图4所示。
图4“点位处理”子程序窗口
程序运行前后对比如图5、图6所示。
图5“点位处理”子程序运行前
图6“点位处理”子程序运行后
第二个图标为线型处理,在活动图层里,修改所有曲线的样式、颜色、宽度,在批量修改地图线型中,省略了反复设置不同轮廓属性的繁琐过程。
第三个图标为面域处理,根据已定的色值填充地图区域色,在地图制图中,区域面色(省市、区县、乡镇、街道、社区、绿地、水面等)都有固定有限的可选色值,该功能可以简化面域设色工作,并避免颜色设置出错。
第四个图标为加强选择工具,从具有不同属性的众多对象中选择出与已选对象具有完全相同属性的图元,适用于单元素图元,同样也适用于群组对象,地图制图会涉及应用多种软件,例如MapGis、ArcGis、AutoCad等,在數据格式转换的过程中,图层关系会发生变化,操作失误也会引起不同图层的内容被综合到一个图层里,在具有大量对象的图层里分类归纳不同对象,尤其对于数据量庞杂的小比例尺地图来说,是一项工作量庞大的重复操作,该功能批量选择具有相同属性的对象,可以节省大量的时间与精力。
第五个图标为全部开关图层,该程序可批量操作图层:全部可显示,全部不可显示;全部可编辑,全部不可编辑;全部可打印,全部不可打印等。在地图制图中,为了避免其他图层的干扰,会对所有图层进行一个批量处理,该程序可实这一功能,在不受其他图层其他对象干扰的情况下,对选定图层上的对象进行处理。
第六个图标为批量改变对象大小,该程序可按比例、按长宽批量修改选择对象的大小,当对地图进行裁切、比例尺变化等修改后,原来的点位对象的大小可能就不太合适了,这时候,只需要改变对象的大小,而不需要改变对象的样式,该功能便是为实现这一要求而设计的。
第七个图标为删除工具,在CorelDraw菜单中并没有删除工具,而长时间的鼠标操作中,切换到键盘操作并不方便,该程序弥补了这一缺憾。
点击对应图标,便可调用相应的子程序。
4 不足与展望
该程序适用于有成熟而完整的参数表的地图制图工作。
不足:该程序中的点位、线型、面域处理只有既定的参数可供使用,不支持使用者对其自定义。
展望:开发对使用者完全开放的拓展程序,使用者可以自行设定参数表,并依此参数表来设定图例板。
5 结束语
本文主要研究了Visual Basic汇编语言开发的应用拓展程序在地图制图中的应用,快速、简单而规则的解决了地图制图中的符号替换、线型设定、面色填充等问题,其完备的功能已经在笔者的制图过程中得到良好的体现。
参考文献
[1] 姚兴海,姚磊.CorelDRAW地图制图.中国地图出版社.2003,6:1-268.
[2] 张建辉.Visual Basic从初学到精通.电子工业出版社.2010,6:1-517.
注:文章内所有公式及图表请以PDF形式查看。
1 应用前景
CorelDraw是由加拿大Corel公司推出的一款功能强大的矢量图形处理软件,由于其强大而美观的绘图功能,在地图制图领域得到广泛的应用。
Visual Basic是微软公司开发的包含协助开发环境的事件驱动编程语言,拥有图形用户界面和快速应用程序开发系统,可以轻松地使用数据库访问技术。Visual Basic拥有系统界面友好、交互性强、事件驱动、面向对象的应用程序开发环境。
地图制图是一项严谨而规范性强的工作,在挂图、地图册、专题地图的制作过程中,对于图的符号、注记、线型、面色等都有严格而统一的标准。
如果能在已知制图标准的基础上开发出一款应用拓展程序,例如图例板,不仅会简化制图工作,也可以强化统一标准。
当进行大型地图编辑项目时,需要大量的人手,但这些人员可能并不是专业的地图制图人员,对CorelDraw并不熟悉,而他们所需要进行的,又是一项重复性与规则性极强的工作,该应用拓展程序的开发,简化制图工作的同时,也简化了对这些抽调人员的培训,节省了时间成本,使其快速的投入工作中,也会极大的降低工作难度。
本文既是利用Visual Basic汇编语言,开发出CorelDraw的应用拓展程序,该拓展程序以图例板与常用辅助工具为主,简化了制图过程,并强化了制图过程中的规则性,该应用拓展程序与CorelDraw主程序有良好的兼容性。
2 基本原理
与CorelDraw自带的基于VB的程序设计语言VBA(Visual Basic for Application)相比较而言,Visual Basic可以生成独立的可执行文件(EXE),VBA只能生成在主程序中才可以被调用的宏(GMS),概括说来,VBA简单易用,VB则复杂全面。
CorelDraw中集成的VBA可用来开发图形解决方案平台,如自动处理、定制功能、批处理等。
在CorelDraw窗口中,选择菜单栏中的工具选项下的Visual Basic,可以进行宏的录制,或者选择Visual Basic编辑器编辑代码进行应用。
本文介绍利用VB开发的拓展程序在CorelDraw中的应用,该应用拓展程序中主要涉及的方面为:对象的创建、线型的设定、面域的填充、循环结构的运用、动态链接库的调用等。
3 程序应用
2.1 安装
笔者在完成此拓展程序之后,已经将其打包成安装程序,这样更易于安装与操作,出于软件更新的考虑,笔者在安装程序中也加入了卸载选项。安装路径界面如图1所示,卸载完成界面如图2所示。
图1安装路径界面
图2卸载完成界面
2.2 运行
安装完成地图制图拓展之后,运行CorelDraw,在菜单选项下会出现一个新的工具栏。这就是与CorelDraw兼容的地图制图应用拓展程序。新增工具栏“地图制图”如图3所示。
图3“地图制图”工具栏
2.3 释例
在“地图制图”工具栏中。
第一个图标为点位处理,在同一图层里,该工具可自动判别符号与注记,并只更改符号,而不改变注记,全部居中替换所要更改的符号,该程序完全不同于CorelDraw自带的符号库功能,符号库适用于前期画图,不适用于后期修图,不能完成点位坐标捕捉功能和批量自动替换。
该子程序窗口如图4所示。
图4“点位处理”子程序窗口
程序运行前后对比如图5、图6所示。
图5“点位处理”子程序运行前
图6“点位处理”子程序运行后
第二个图标为线型处理,在活动图层里,修改所有曲线的样式、颜色、宽度,在批量修改地图线型中,省略了反复设置不同轮廓属性的繁琐过程。
第三个图标为面域处理,根据已定的色值填充地图区域色,在地图制图中,区域面色(省市、区县、乡镇、街道、社区、绿地、水面等)都有固定有限的可选色值,该功能可以简化面域设色工作,并避免颜色设置出错。
第四个图标为加强选择工具,从具有不同属性的众多对象中选择出与已选对象具有完全相同属性的图元,适用于单元素图元,同样也适用于群组对象,地图制图会涉及应用多种软件,例如MapGis、ArcGis、AutoCad等,在數据格式转换的过程中,图层关系会发生变化,操作失误也会引起不同图层的内容被综合到一个图层里,在具有大量对象的图层里分类归纳不同对象,尤其对于数据量庞杂的小比例尺地图来说,是一项工作量庞大的重复操作,该功能批量选择具有相同属性的对象,可以节省大量的时间与精力。
第五个图标为全部开关图层,该程序可批量操作图层:全部可显示,全部不可显示;全部可编辑,全部不可编辑;全部可打印,全部不可打印等。在地图制图中,为了避免其他图层的干扰,会对所有图层进行一个批量处理,该程序可实这一功能,在不受其他图层其他对象干扰的情况下,对选定图层上的对象进行处理。
第六个图标为批量改变对象大小,该程序可按比例、按长宽批量修改选择对象的大小,当对地图进行裁切、比例尺变化等修改后,原来的点位对象的大小可能就不太合适了,这时候,只需要改变对象的大小,而不需要改变对象的样式,该功能便是为实现这一要求而设计的。
第七个图标为删除工具,在CorelDraw菜单中并没有删除工具,而长时间的鼠标操作中,切换到键盘操作并不方便,该程序弥补了这一缺憾。
点击对应图标,便可调用相应的子程序。
4 不足与展望
该程序适用于有成熟而完整的参数表的地图制图工作。
不足:该程序中的点位、线型、面域处理只有既定的参数可供使用,不支持使用者对其自定义。
展望:开发对使用者完全开放的拓展程序,使用者可以自行设定参数表,并依此参数表来设定图例板。
5 结束语
本文主要研究了Visual Basic汇编语言开发的应用拓展程序在地图制图中的应用,快速、简单而规则的解决了地图制图中的符号替换、线型设定、面色填充等问题,其完备的功能已经在笔者的制图过程中得到良好的体现。
参考文献
[1] 姚兴海,姚磊.CorelDRAW地图制图.中国地图出版社.2003,6:1-268.
[2] 张建辉.Visual Basic从初学到精通.电子工业出版社.2010,6:1-517.
注:文章内所有公式及图表请以PDF形式查看。