Teechart圖表應(yīng)用技術(shù)詳解—第二章之Teechart組件的應(yīng)用實(shí)例:三維畫板、工具和TeeOpenGL
Steema公司和慧都科技針對中國市場聯(lián)合推出中文版TeeChart for .NET圖表控件,一共漢化2000個(gè)詞條(17000個(gè)單詞),漢化文檔35000個(gè)單詞,包括控件設(shè)計(jì)時(shí)與運(yùn)行時(shí)的界面漢化以及控件使用向?qū)臋n的漢化,總漢化90%以上!
TeeChart for .NET中文版讓您在使用和學(xué)習(xí)上沒有任何語言障礙,至少可以節(jié)省30%的開發(fā)時(shí)間。TeeChart for .NET中文版具有易上手,使用方便,穩(wěn)定性好,性價(jià)比高,價(jià)格優(yōu)惠等優(yōu)勢,并且針對Web應(yīng)用提供無限制服務(wù)器分發(fā)授權(quán)方式,非常有利于產(chǎn)品集成。
點(diǎn)擊下載TeeChart for .NET最新試用版
Teechart組件的應(yīng)用實(shí)例
Steema為了充分發(fā)揮TeeChart頁圖表組件的功能,將圖表編輯器的選項(xiàng)卡進(jìn)行了拆分,構(gòu)成獨(dú)立的可視或非可視組件,由程序設(shè)計(jì)員根據(jù)用戶的功能要求進(jìn)行重新組合,以滿足用戶需要。
三維畫板、工具和TeeOpenGL
演示:Daw3D、 TeeCommander和TeeOpenGL組件。
功能:Draw3D是能夠繪制具有3D功能的畫板,可以在其上進(jìn)行2D和3D幾何圖形、線條、文字的繪制以及位圖顯示與背景設(shè)置等功能。在TeeCommander組件的支持下,可以實(shí)現(xiàn)打印、拷貝、導(dǎo)出、放大、旋轉(zhuǎn)等操作,與TeeOpnGL組件結(jié)合可實(shí)現(xiàn)OpenGL三維圖形的繪制。
設(shè)計(jì):
Draw3D組件的三維畫布 Canvas: TVanvas3D,提供了豐富的2D、3D幾何圖形、線段、文字的圖形繪制,下列代碼完成有關(guān)圖形的繪制:
var MyBit:TBitmap; begin with Draw3D1 do begin MyBit:=tbITMAP.Create; MyBit.LoadFromFile('Background. bmp); Canvas.Draw(7, 7, Mybit); Canvas.Pen.Style:= psDashDot; if CheckBox3.Checked then //根據(jù)檢查框狀態(tài)確定是否繪制坐標(biāo)軸 begin Canvas.MoveTo3D(251,10,0); Canvas.lineTo3D(251,273,0); //縱坐標(biāo) Canvas.MoveTo3D(10, 141, -100); Canvas.LineTo3D(493, 141, 100); //橫坐標(biāo)(左下,右上) Canvas.MoveTo3D(10, 141, 100); Canvas.LineTo3D(493, 141, -100); //橫坐標(biāo)(左上、右下) end; Canvas.Pen.Color:=clGreen; Canvas.Brush.Color:=RGB(125, 128,128); Canvas.Pie3D(100,200,60,15,30,100,15,90,CheckBox1.Checked,true); //圓餅 Canvas.Brush.Color:=RGB(125, 120, 128); Canvas.Pyramid(true,300,50,400, 100,0,50,CheckBox1.Checked); Canvas.Brush.Color:=RGB(255,0,0); Canvas.Sphere(Draw3D1.ChartXCenter+150,Draw3D1.ChartYcenter+80,0, 50); //球體 Canvas.Cube(250, 270, 40,90,0,10,CheckBox1.Checked); //立方體 Canvas.Brush.Color:=RGB(0,128,0); Canvas. Cylinder(true,150,80,190,160,10,70,CheckBox1.Checked); //圓柱體 Canvas.Font.Color:=clRed; Canvas.Font.Name:='仿宋_GB2312'; Canvas.BackMode:=cbmTransparent; Canvas.Font.Size:=16; Canvas.TextOut3D(10,250,45,'這是一個(gè)Draw3D組件功能演示'); Canvas.RotateLabe13D(20,200,10,'旋轉(zhuǎn)文本',90.0);
Draw3D組件的3D幾何圖形繪制函數(shù)中有一個(gè)參數(shù)DarkSides:Boolean,是用來控制繪制圖形時(shí)是否帶陰影以增強(qiáng)立體感,所以本程序在該函數(shù)的這個(gè)參數(shù)中使用了Check Box 1.Checked,由CheckBox檢查框是否選中表示是否繪制陰影。例如(繪制錐體):
CheCanvas.Pyramid (true, 300, 50, 400, 100, 0, 50, CheckBox1.Checked);
因此,當(dāng)單擊ChckBox1時(shí),3D畫板的圖形外觀就會發(fā)生變化。
背景漸進(jìn)和坐標(biāo)軸檢查框用于控制是否在背景中使用漸進(jìn)色和繪制坐標(biāo)軸??刂谱鴺?biāo)軸的繪制代碼是放在Draw3D的OnPaint事件中。
實(shí)現(xiàn) OpenGL功能,只需在程序設(shè)計(jì)階段將TeeOpenGL組件的 TeePanel設(shè)為Draw3D1和 Active屬性設(shè)為true,或者在主窗體的 OnCreate事件中加入以下代碼即可:
TeeOpenGL1.TeePanel=Draw3D1; TeeOpenGL1.Active:=true;
如果窗口有圖表組件Chart,將TeeOpenGL1.TeePanel設(shè)為 Chart,這時(shí)打開的圖表編輯器就增加了OpenGL選項(xiàng)卡,如下圖所示。
設(shè)置:
組件名稱 | 屬性名 | 設(shè)定值 | 備注 |
TChart | Name | Chart1 | 用圖表編輯器設(shè)定 |
TDraw3D | Name | TDraw3D1 | 一般不需要特殊設(shè)置 |
TTeeCommander | Name | TeeCommander1 | 命令工具組件 |
Panel | Chart1 | OpenGL組件名稱 | |
TTeeOpenGL | TeePanel | TeeOpenGL1 | |
Name | Draw3D1 | OpenGL的畫板 | |
Active | true | 激活TeeOpenGL1組件 | |
TCheckBox | Name | CheckBox1 | 陰影控制 |
Checked | true | ||
Caption | 陰影 | ||
TCheckBox | Name | CheckBox2 | 背景漸進(jìn)色 |
Checked | true | ||
Caption | 背景漸進(jìn) | ||
TCheckBox | Name | CheckBox3 | 坐標(biāo)軸控制 |
Checked | true | ||
Caption | 坐標(biāo)軸 | ||
TCheckBox | Name | CheckBox4 | OpenGL功能控制 |
Checked | false | ||
Caption | OpenGL |
技巧:
(OpenGL( Open Graphic Library)即開放圖形庫,是一個(gè)3D的計(jì)算機(jī)圖形和模型庫,是由SGI公司于1992年開發(fā)的、獨(dú)立于操作系統(tǒng)和硬件環(huán)境的、具有強(qiáng)大的圖形功能和良好的跨平臺移植能力的一個(gè)圖形標(biāo)準(zhǔn),它已被廣泛應(yīng)用于可視化、實(shí)體造型、 CADICAM和模仿真等領(lǐng)域。利用Draw3D和 TeeOpenGL的配合就可實(shí)現(xiàn) OpenGL的功能。不過 OpenGL本身是一個(gè)計(jì)算機(jī)應(yīng)用領(lǐng)域,真正要繪制出高質(zhì)量的圖形還需查閱有關(guān) OpenGL的專門書籍,這里不再贅述。
從本例看出工具組件 Tee Commander可以對 OpenGl產(chǎn)生的圖形進(jìn)行各種操作。
界面:程序運(yùn)行后的界面如下所示。
圖1
圖2
下一節(jié)我們將會介紹Teechart組件的應(yīng)用實(shí)例:序列與函數(shù)庫組件。將會有演示,功能,設(shè)計(jì),設(shè)置,技巧和界面六個(gè)方面的介紹。如果有對Teechart圖表感興趣的朋友,可以多多關(guān)注本教程,并且歡迎在評論區(qū)留言。
相關(guān)資料推薦:
上一章:Teechart組件的應(yīng)用實(shí)例:序列列表與命令工具
現(xiàn)TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購,現(xiàn)在搶購可立享優(yōu)惠!
關(guān)注慧聚IT微信公眾號???,了解產(chǎn)品的最新動態(tài)及最新資訊。