曾克明
(湖南地圖出版社,湖南長沙 410007)
CorelDRAW軟件的二次開發(fā)在地圖制圖中的應用與實例
曾克明
(湖南地圖出版社,湖南長沙 410007)
針對CorelDRAW軟件在地圖制作時符號的輸入、修改替換和特種線型的輸入、縮放的繪制工作量大等難點,應用二次程序開發(fā)功能,較好地解決了生產(chǎn)過程中遇到的上述問題,并舉例說明符號替換和河流粗細變化程序的基本思路和部分源程序設計方法實例。
CorelDRAW;二次開發(fā);腳本程序;VisualBasic;程序設計
地圖是根據(jù)一定的數(shù)學法則,將地球上的自然和社會現(xiàn)象,通過制圖綜合所形成的信息,運用符號系統(tǒng)縮繪到平面上的圖形,以傳遞它們的數(shù)量和質量在時間上和空間上的分布和發(fā)展變化[1]。地圖按內(nèi)容分為普通地圖和專題地圖兩大類,本文側重于探討專題地圖。鑒于專題地圖有別于普通地圖的幾何精度和專題地圖內(nèi)容表示方法的多樣性, CorelDRAW、Freehand、Illustrator等矢量繪圖軟件常用來創(chuàng)造美觀、生動的專題地圖,其中應用最廣的是CorelDRAW軟件。
Corel公司創(chuàng)立于 1985年,CorelDRAW軟件以其高質量的工具軟件、PC繪圖及多媒體軟件在全球的圖形軟件和商業(yè)應用軟件領域處于國際領先地位。到目前為止,CorelDRAW軟件已經(jīng)公布了 15個版本。在地圖制作中,CorelDRAW軟件的優(yōu)點是易學易用,線劃、文字、符號的輸入方便快捷,形成的矢量文件小,在創(chuàng)制地圖藝術性方面有著出色的表現(xiàn),讓使用者可以非常自由地發(fā)揮與創(chuàng)造。但是CorelDRAW不是地理信息系統(tǒng)軟件,在地圖制圖中難免存在一些不方便的地方。比如 CorelDRAW在符號輸入、符號修改替換、長城線型符號的制作、標準國界、統(tǒng)改線型等過程時,制作非常麻煩,不易修改,而且制作出來的產(chǎn)品也不標準。針對這些不足,我們利用 Core lDRAW軟件本身具有的二次開發(fā)功能,進行了一些研究,編寫了一些程序,由計算機來完成這些較難的工作,取得了一些效果。
CorelDRAW軟件的二次開發(fā)常用的主要有兩種方法,一種是相對比較簡單的 Corel Script腳本程序,另一種是VisualBasic語言程序設計。筆者利用這兩種方法進行了程序開發(fā),將一些工作量大的操作做成了程序,如地貌符號的替換、河流的漸變等。這些程序的開發(fā)將原來需要一天的工作量,縮短為最多 1小時,而且自動化、智能化程度很高,極大地提高了我社地圖制作工作的效率。
1.Corel Script程序化語句及函數(shù)(腳本設計)
Corel Script程序化語句及函數(shù)是由傳統(tǒng)的Basic程序化語言所衍生出來的。Corel Script有一個非常方便的錄制程序,在錄制的狀態(tài)下,用戶的操作將被錄制,并形成一個 Script文件,方便下次使用。使用 Corel Script程序語言,可以讓圖形圖像處理工作自動化,達到事半功倍的效果。但并不是所有操作都可以通過錄制來生成腳本程序,應用程序函數(shù)就是無法錄制的,必須手動將其寫入 Script中。
Corel Script例子 (顯示一個簡單的 Corel Script,先檢查選取對象的尺寸,然后將其尺寸加倍):
腳本程序在地圖制圖中,經(jīng)常用于特效字體的設計,利用腳本程序可以事半功倍。
2.Visual Basic語言程序設計
VisualBasic語言程序設計需要一定的程序設計基礎。
下面以筆者主持設計的兩個程序(符號替換和河流變化)為例,說明 Core lDRAW二次開發(fā)在地圖制圖的應用實例。
(1)符號替換
基本思路:中心坐標不變,用一個對象替換另一個對象。
具體步驟:
1)將標準符號命名,并計算符號中心位置的坐標(X1,Y1)
X1=shape1.Positionx,Y1=shape1.Positiony
2)計算需替換的符號的中心位置坐標(X2,Y2)
X2=shape1.Positionx,Y2=shape1.Positiony
3)將標準符號復制至需替換符號的位置,進行替換,并刪除原符號
Set shape2=shape1 Duplicate(x2-x1,y2-y1)循環(huán) 1)~2),可以完成每一個符號的替換。在實際操作時,可以將此程序做成一個工具,便于使用,具體操作過程是:
1)制作一個標準符號,確定好參數(shù),并將它命名為“fuhao”(也可以是其他名稱,只要在程序設計時確定);
2)選擇所有需要替換的符號和標準符號;
3)運行程序,自動完成符號替換。
源程序(測試通過):
(2)河流自動變化
基本思路:定義河流起始和結尾粗細,中間自動變化。
主程序(已測試通過,具體步驟不再贅述):
以上就是符號替換和河流自動變化的源程序,當然,還可以進一步完善它,比如增加替換的符號數(shù)目計算、時間、算法和人機對話功能,增加河流自動打斷的人工智能等。
河流粗細變化、特效字體制作和符號替換是目前應用 CorelDRAW的二次開發(fā)比較多的情況,由于地圖的復雜性,還有許多問題尚待進一步研究解決,例如繪制萬里長城符號、標準國界 (“工”字型)等一直是地圖中繪制和修改的難題。
[1] 祝國瑞.地圖學[M].武漢:武漢大學出版社,2004.
[2] 東箭工作室.CorelDRAW 9中文版初中級教程 [M].北京:清華大學出版社,2000.
[3] 羅壽枚.專題制圖原理及其計算機應用 [M].長沙:湖南地圖出版社,2001.
[4] 閆浩文,褚衍東,楊樹文,等.計算機地圖制圖原理與算法基礎[M].北京:科學出版社,2007.
Secondary Development of Software CorelDRAW:Applications and Examples
ZENG Keming
0494-0911(2010)08-0060-02
P283.7
B
2010-04-21
曾克明(1974—)男,湖南瀏陽人,工程師,主要從事計算機地圖制圖工作。