■張晶
(新疆兵團勘測設(shè)計院(集團)有限責任公司 新疆 烏魯木齊830002)
基于C#.NET的CorelDraw二次開發(fā)在《新疆生產(chǎn)建設(shè)兵團圖籍》中的應(yīng)用
■張晶
(新疆兵團勘測設(shè)計院(集團)有限責任公司 新疆 烏魯木齊830002)
介紹基于C#.NET進行二次開發(fā)的功能、原理和方法,通過在《新疆生產(chǎn)建設(shè)兵團圖籍》項目的編制過中,在使用CorelDraw軟件遇到操作繁瑣、功能欠缺等問題進行分析,研發(fā)CorelDraw軟件的輔助工具,高效的提高了作業(yè)員在制圖過程中的效率和質(zhì)量。
C#.NET;CorelDraw;二次開發(fā);
Coreldraw軟件是由加拿大Corel公司研發(fā),是國內(nèi)外最杰出的矢量圖形制作軟件之一,因軟件性能穩(wěn)定、圖文并茂、易操作,所以選用Coreldraw軟件作為《新疆生產(chǎn)建設(shè)兵團圖集》的主要編制軟件。然而,在地圖編制作業(yè)過程中發(fā)現(xiàn),僅僅依靠Coreldraw現(xiàn)有的功能,特別是在批量處理方面,效率很低,而且出錯率高。如文字、符號方面的批量處理功能較弱,暈帶制作難度大等。通過研究Coreldraw軟件接口,針對問題進行二次開發(fā),很好的減輕作業(yè)員重復(fù)繁瑣的操作,使工作效率得到提高。
2.1 開發(fā)平臺和語言
軟件主要使用的是VisalStudio2010作為編譯工具,C#作為開發(fā)語言。VisalStudio2010是功能強大可視化開發(fā)工具,能支持面向?qū)ο蟮拈_發(fā)風格,是桌面端軟件開發(fā)的首選平臺。而C#是微軟發(fā)布面向?qū)ο蟮木幊陶Z言,它使得程序員可以快速地編寫各種基于Microsoft.NET平臺的應(yīng)用程序。
2.2 Coreldraw二次開發(fā)
現(xiàn)有Coreldraw版本已經(jīng)加入了可編成對象模型的支持,開發(fā)人員可以對Coreldraw封裝的各種功能的ActiveX對象進行調(diào)用,如Interop.CorelDRAW類庫的引用,通過對文件Document、頁面ActivePage、圖層ActiveLayer、點線面及符號等逐級訪問并獲取對象,從而達到功能目的。
3.1 獲取圖層要素
3.2 文字批處理功能
3.3 符號批處理功能
allLayer.BreakApart();//批量打散美術(shù)字
allLayer.ClearTransformations();//批量清除變換
allLayer.Skew(angle,0);//批量傾斜字體角度
Shape layer_shape_1=layer.Shapes[1];//選擇需要修改的圖層,并將第一個符號修改成目標符號
3.4 自定義生成暈帶工具
本文介紹了通過CorelDraw圖形軟件的二次開發(fā),為《新疆生產(chǎn)建設(shè)兵團圖籍》項目上提供了高效的輔助工具,特別是符號批量替換和暈線自動生成功能,提高了工作的效率、縮減了工期、降低了成本。該工具已在其他項目工作中作為常規(guī)CorelDraw輔助工具使用,效果顯著。
[1]柏松.CorelDraw從入門到精通 [M].北京:電子科技大學(xué)出版社,2010
[2](美)Karli Watson,等援C#入門經(jīng)典(第7版)援北京:清華大學(xué)出版社,2016
P62[文獻碼]B
1000-405X(2016)-12-313-2