■張晶
(新疆兵團勘測設計院(集團)有限責任公司 新疆 烏魯木齊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