□崔創(chuàng)來
(山西省地圖集編纂委員會(huì)辦公室,山西太原030002)
基于Core lDRAW X4、VB6.0國界符號(hào)繪制的技術(shù)研究
□崔創(chuàng)來
(山西省地圖集編纂委員會(huì)辦公室,山西太原030002)
介紹了國界的重要性,通過分析現(xiàn)階段CorelDRAW X4中繪制國界符號(hào)常用的方法以及其存在的不足,從而提出利用VB6.0開發(fā)國界符號(hào)繪制程序的必要性。圖文并茂,通過VB代碼剖析了主要技術(shù)的實(shí)現(xiàn)。
國界符號(hào);CorelDRAW X4;VB6.0
境界是六大地理要素之一,是地圖必須具備的內(nèi)容。
普通地圖上,境界分為政區(qū)境界和其他境界。政區(qū)境界包括國界(已定、未定),省、自治區(qū)、中央直轄市界,自治州、盟、省轄市界,縣、自治縣、旗界等。其他境界包括地區(qū)界、停火線界和禁區(qū)界等。境界用不同結(jié)構(gòu)、不同粗細(xì)與不同顏色的點(diǎn)線符號(hào)表示。
國界是一個(gè)國家行使主權(quán)的界線,是國家領(lǐng)土范圍的地理界線。具有相對(duì)的穩(wěn)定性、限定性和不可侵犯性。國界要嚴(yán)格依據(jù)我國政府正式簽訂的邊界條約、邊界議定書及附圖準(zhǔn)確繪出。待議地區(qū)的界線,按我國政府有關(guān)規(guī)定處理。編繪完成后須經(jīng)有關(guān)部門審查批準(zhǔn)。已定國界符號(hào)通常用表示,未定國界符號(hào)通常用表示。
目前,CorelDRAW X4中繪制國界符號(hào)常用的方法有以下幾種(以已定國界為例,未定國界方法類似):
(1)在沒有選中任何對(duì)象的情況下,打開“輪廓筆”對(duì)話框,確定線寬;單擊輪廓筆“編輯樣式”按鈕,彈出“編輯線條樣式”窗口,將其設(shè)置為8黑2白1黑2白;用貝塞爾工具沿國界線中心繪制曲線。此時(shí),繪出的曲線為樣式;利用畫線工具畫豎線并設(shè)置其寬度、長度,最后通過復(fù)制、粘貼、旋轉(zhuǎn)完成垂直短線的擺放。
(2)在樣式設(shè)置、繪制曲線方面與第一種方法相同,主要區(qū)別是垂直短線的繪制,它是通過在曲線兩端放置設(shè)置好寬度及長度的垂線,然后點(diǎn)擊效果菜單下的調(diào)和工具,通過路徑Path按鈕建立以國界線為目標(biāo)的新路徑,設(shè)置合適的固定間距,勾選旋轉(zhuǎn)全部對(duì)象來完成。
(3)先用FontCreator制作國界線單元符號(hào)字體庫文件;再將其拷貝至Windows/ Fonts/目錄下;打開CorelDRAW X4用貝塞爾工具沿國界線中心繪制曲線,點(diǎn)擊文本菜單下“使文本適合路徑”命令使用國界字體符號(hào)。
以上是目前較為常見的國界符號(hào)畫法,第一種方法存在人工參與比較多、工作量大、精度低等缺點(diǎn);第二種方法較前一種效率提高了很多,但在計(jì)算固定間距時(shí)容易造成垂直短線與水平橫線之間錯(cuò)位;最后一種方法在設(shè)置線寬及長度方面不方便,只能通過調(diào)整字體大小來接近要求。另外,在國界線急彎處符號(hào)效果會(huì)不太理想。
鑒于上述幾種方法存在不足以及國界符號(hào)繪制的嚴(yán)肅性,通過CorelDRAW X4自帶的開發(fā)接口CorelDRAW 14.0 Library,利用VB6.0開發(fā)國界符號(hào)繪制程序就迫在眉睫。
3.1 環(huán)境設(shè)置
在VB6.0中單擊工程菜單下“引用”命令,彈出“引用”窗口,在引用列表中勾選“Corel-CorelDRAW 14.0 Libray”。

添加引用
在通用聲明中添加
Dim core As CorelDRAW.Application
3.2 “一橫一點(diǎn)”符號(hào)繪制
3.2.1 計(jì)算“一橫一點(diǎn)”各構(gòu)成部分長度
“—·—·”單位符號(hào)“一橫一點(diǎn)”由兩實(shí)兩虛部分組成,兩實(shí)即橫線(簡(jiǎn)稱黑線)和點(diǎn),兩虛即點(diǎn)兩端空白的部分(簡(jiǎn)稱白線)。一般它們之間的比例關(guān)系為8黑2白1黑2白。當(dāng)然用戶可以根據(jù)需要通過程序界面重新設(shè)置,也可以直接設(shè)置黑線或白線的長度,這兩種方式是相互聯(lián)動(dòng)的,其關(guān)系為長度=黑白節(jié)×國界線寬度。實(shí)部“點(diǎn)”其長度或直徑與國界線寬度相同。現(xiàn)將黑線長定義為txthc,白線長定義為txtbc,國界線寬度定義為txtkd,那么單位符號(hào)長length0=Val(Me.txthc.Text)/25.4+2*Val(Me.txtbc.Text)/25.4+Val(Me.txtkd.Text)/ 25.4

紅線區(qū)域?yàn)殚L度及比例關(guān)系輸入部分
因此,以上述程序界面數(shù)字為例,黑線長度為8×0.25=2毫米,白線長度為=2× 0.25=0.5毫米,點(diǎn)長度為0.25毫米,單位符號(hào)長度為2+0.5×2+0.25=3.25毫米。
3.2.2 在各構(gòu)成部分交接處添加節(jié)點(diǎn),并打斷
將沿國界線中心繪制的曲線定義為:Dim guojie As CorelDRAW.Shape,其長度為length1=guojie.Curve.Length,整個(gè)曲線包含單位符號(hào)數(shù)量為num=length1除以length0取整,在曲線上添加節(jié)點(diǎn)可以通過guojie. Curve.SubPaths(1).AddNodeAt方法完成。定義 Dim nodranAsNew CorelDRAW. NodeRange,將添加的節(jié)點(diǎn)放入到nodran中,利用nodran.BreakApart、guojie.BreakA-part方法將這些節(jié)點(diǎn)處打斷,結(jié)合3.2.1。具體參考代碼如下:

3.2.3 刪除虛部,選擇實(shí)部“點(diǎn)”形狀
比較打斷后各曲線與“一橫一點(diǎn)”各構(gòu)成部分的長度,定義ShapeRange對(duì)象,

將黑線、點(diǎn)、白線分別添加到ran1,ran2、ran3中,利用ran3.Delete方法刪除白線(即虛部)。
實(shí)部“點(diǎn)”的形狀可以在方形和圓形間選擇,具體由編輯確定。對(duì)于方形,通過上述步驟即可完成。對(duì)于圓形,需要進(jìn)行圖形替換。首先,創(chuàng)建直徑等于國界線寬度的圓,ActiveLayer.CreateEllipse2(0,0,(Val(Me.txtkd.Text)/25.4)/2,,,,False),定義CorelScript對(duì)象并引用 Set scr=core. CorelScript,通過其方法 GetObjectsCDRStaticID()得到所畫圓的編號(hào),屬性SetReferencePoint 9將中心點(diǎn)設(shè)置為定位點(diǎn),利用 GetPosition x,y、DuplicateObject、Set-Position x,y方法完成坐標(biāo)獲取、圖形復(fù)制、替換。參考代碼如下:


3.3 垂直短線繪制
打開“輪廓筆”對(duì)話框,在窗口右上方是“箭頭”選項(xiàng),點(diǎn)擊下拉表彈出各式各樣的箭頭,其中包含垂直短線箭頭,將它添加到曲線兩端,結(jié)果發(fā)現(xiàn)無論曲線如何彎曲,它始終垂直于曲線兩端,符合制作國界符號(hào)要求。基于這種思路,創(chuàng)建Shape對(duì)象Dim jiantou As CorelDRAW.Shape,通過jiantou.CreateArrowHead方法創(chuàng)建箭頭。然后將創(chuàng)建的箭頭添加到國界符號(hào)黑線的兩端。參考代碼如下:

本文介紹了目前CorelDRAW X4中繪制國界符號(hào)幾種常用的方法,并分析它們存在的不足,提出了通過CorelDRAW X4自帶的開發(fā)接口CorelDRAW 14.0 Library開發(fā)程序的必要性,文章不僅圖文并茂進(jìn)行了詳盡地闡述,而且通過實(shí)例代碼逐步剖析,介紹了環(huán)境配置、“一橫一點(diǎn)”符號(hào)繪制,圖形替換以及垂直短線繪制,最終完成了已定國界符號(hào)“”的繪制,該程序已經(jīng)在做圖實(shí)踐中得到了很好的應(yīng)用。
【1】喬俊軍,房雪玲,張海文.基于CorelDRAW的制圖要素符號(hào)化研究[J].測(cè)繪與空間地理信息,2013(8):30-33.
【2】張力果,趙淑梅.地圖學(xué)[M].高等教育出版社,1983.
【3】國家測(cè)繪局人事司、國家測(cè)繪局職業(yè)技能鑒定指導(dǎo)中心.地圖制圖(技師版)[M].測(cè)繪出版社,2009.
【4】祝國瑞,郭禮珍,尹貢白,徐永利.地圖設(shè)計(jì)與編繪[M].武漢大學(xué)出版社,2000.
【5】張榮群,袁勘省,王英杰.現(xiàn)代地圖學(xué)基礎(chǔ)[M].中國農(nóng)業(yè)大學(xué)出版社,2002.
P231.5
B
2095-7319(2014)05-0044-05
崔創(chuàng)來(1976—),男,漢族,山西稷山人,工程師,太原理工大學(xué)測(cè)繪工程專業(yè),主要從事電子地圖與GIS開發(fā)工作。