■张晶
(新疆兵团勘测设计院(集团)有限责任公司 新疆 乌鲁木齐830002)
基于C#.NET的CorelDraw二次开发在《新疆生产建设兵团图籍》中的应用
■张晶
(新疆兵团勘测设计院(集团)有限责任公司 新疆 乌鲁木齐830002)
介绍基于C#.NET进行二次开发的功能、原理和方法,通过在《新疆生产建设兵团图籍》项目的编制过中,在使用CorelDraw软件遇到操作繁琐、功能欠缺等问题进行分析,研发CorelDraw软件的辅助工具,高效的提高了作业员在制图过程中的效率和质量。
C#.NET;CorelDraw;二次开发;
Coreldraw软件是由加拿大Corel公司研发,是国内外最杰出的矢量图形制作软件之一,因软件性能稳定、图文并茂、易操作,所以选用Coreldraw软件作为《新疆生产建设兵团图集》的主要编制软件。然而,在地图编制作业过程中发现,仅仅依靠Coreldraw现有的功能,特别是在批量处理方面,效率很低,而且出错率高。如文字、符号方面的批量处理功能较弱,晕带制作难度大等。通过研究Coreldraw软件接口,针对问题进行二次开发,很好的减轻作业员重复繁琐的操作,使工作效率得到提高。
2.1 开发平台和语言
软件主要使用的是VisalStudio2010作为编译工具,C#作为开发语言。VisalStudio2010是功能强大可视化开发工具,能支持面向对象的开发风格,是桌面端软件开发的首选平台。而C#是微软发布面向对象的编程语言,它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序。
2.2 Coreldraw二次开发
现有Coreldraw版本已经加入了可编成对象模型的支持,开发人员可以对Coreldraw封装的各种功能的ActiveX对象进行调用,如Interop.CorelDRAW类库的引用,通过对文件Document、页面ActivePage、图层ActiveLayer、点线面及符号等逐级访问并获取对象,从而达到功能目的。
3.1 获取图层要素
3.2 文字批处理功能
3.3 符号批处理功能
allLayer.BreakApart();//批量打散美术字
allLayer.ClearTransformations();//批量清除变换
allLayer.Skew(angle,0);//批量倾斜字体角度
Shape layer_shape_1=layer.Shapes[1];//选择需要修改的图层,并将第一个符号修改成目标符号
3.4 自定义生成晕带工具
本文介绍了通过CorelDraw图形软件的二次开发,为《新疆生产建设兵团图籍》项目上提供了高效的辅助工具,特别是符号批量替换和晕线自动生成功能,提高了工作的效率、缩减了工期、降低了成本。该工具已在其他项目工作中作为常规CorelDraw辅助工具使用,效果显著。
[1]柏松.CorelDraw从入门到精通 [M].北京:电子科技大学出版社,2010
[2](美)Karli Watson,等援C#入门经典(第7版)援北京:清华大学出版社,2016
P62[文献码]B
1000-405X(2016)-12-313-2