Teechart圖表應用技術詳解—第五章之TeeChart的地圖顯示原理和代碼設計思路
Steema公司和慧都科技針對中國市場聯(lián)合推出中文版TeeChart for .NET圖表控件,一共漢化2000個詞條(17000個單詞),漢化文檔35000個單詞,包括控件設計時與運行時的界面漢化以及控件使用向導文檔的漢化,總漢化90%以上!
TeeChart for .NET中文版讓您在使用和學習上沒有任何語言障礙,至少可以節(jié)省30%的開發(fā)時間。TeeChart for .NET中文版具有易上手,使用方便,穩(wěn)定性好,性價比高,價格優(yōu)惠等優(yōu)勢,并且針對Web應用提供無限制服務器分發(fā)授權方式,非常有利于產品集成。
TeeChart的地圖顯示原理
TeeChart提供的序列類型包含了 TMapSeries類用于地圖的顯示和管理。所謂地圖,就是由若干個不規(guī)則多邊形構成的封閉區(qū)域,并以不同的顏色予以區(qū)分和說明文字進行標注,形成一個指定區(qū)域的地圖。
根據(jù)地圖的幾何特征和應用中的基本需求, TeeChart的TMapSeries序列是由Shapes:TTeePolygonList多邊形列表對象構成的(若干個多邊型),而這個列表中的每-Shape是一
個多邊形對象Polygon:TTeePolygon,也就是說地圖上的一個多邊形區(qū)域可以使用一個Polygon對象來描述,如下圖所示。另外,利用序列的Maks屬性可以標注區(qū)域的屬性如名稱、面積等,這樣,將 TMapseries的Shapes屬性和Maks屬性結合起來就可以描述一幅地圖的基本特征。
代碼設計思路
在TMapSeries對象中,Shapes屬性的Polygon屬性提供了有關區(qū)城繪制的方法AddXY區(qū)域原色設定屬性Color和文本標注屬性Text,用這三個屬性和方法就可以繪制出地圖的基本特征。為了程序設計方便,可以將繪制和標注區(qū)域名稱的任務編寫為一個過程供程序設計時調用,代碼如下:
procedure TForm1.AddShape(X, Y:array of integer; Color:TColor; Labels:String); var i,tmpIndex: integer; begin tmpIndex:=Series1.Shapes.Count; Serie1.Shapes.Add; /先增加一個 Shape,為繪制區(qū)域做準備 for i:=0 to High(X) do Series1.Shapes.Polygon [tmpIndex].AddXY(X[i],Y[i]);//繪制區(qū)域 Series1.Shapes.Polygon [tmpIndex].Color:=Color;//設定顏色 Series1.Shapes.Polygon [tmpIndex].Text :=Labels;//設定標簽 Series1.Shapes.Polygon [tmpIndex].Z:=Random;//隨機產生一個z值 end;
需要注意的是,每個多邊形區(qū)域各點的坐標分別放在X、Y兩個不同的數(shù)組里,利用Polygon[ tmplndex].AddXY()繪制多邊形區(qū)域;調用 Polygon[tmplndex]前這個Shape必須存在,所以,首次繪制時需調用Shapes對象的Add方法增加一個空的Shape,Shape對象的Count方法是用來計算目前Shapes對象中含有幾個Shape的。這樣就可以完成地圖區(qū)域的繪制工作了。
相關資料推薦:
=====================================
現(xiàn)TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購,現(xiàn)在搶購可立享優(yōu)惠!
關注慧聚IT微信公眾號???,了解產品的最新動態(tài)及最新資訊。