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