原創|其它|編輯:郝浩|2010-05-31 10:54:42.000|閱讀 3385 次
概述:TeeChart Pro ActiveX 是西班牙Steema SL公司開發的圖表類控件,主要用來生成各種復雜的圖表。熟悉Delphi和C++ Builder的編程人員對它不會陌生,因為在Delphi和C++ Builder里包括了TeeChart的VCL版本。本文將詳細介紹TeeChart控件應用方法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
設計背景
基于服務器/瀏覽器架構的解決方案在越來越多的領域得到應用。使用ASP腳本,我們可以方便地訪問各種數據庫,生成與用戶交互的動態頁面。一般情況下,由瀏覽器解釋要顯示的結果,其中統計數據的顯示結果一般采用HTML表格形式。
筆者在鐵路車站Intranet系統的開發過程中,遇到要把數據庫中的統計結果用統計圖表(柱狀圖、折線圖、餅圖等)方式輸出的問題。因為統計圖表在美觀和易于理解等方面有著表格所不具備的優越性,所以這個問題具有一定的普遍性。目前,針對這個問題,主要有3種可行的解決方案:
1.在瀏覽器端安裝使用圖表控件如MsChart等。這樣做的缺點是在客戶端要安裝和注冊ActiveX控件,操作較為復雜,并且把客戶端系統限制在Windows的范圍內。
2.使用Java Applet顯示圖形。這樣做開發難度較高,需要針對具體的應用要求編制Java繪圖程序。
3.在服務器端使用控件動態生成圖形文件(JPEG格式),此方法可以適用于任何流行的客戶端瀏覽器。
本文討論第3種方案,使用的控件是TeeChart Pro ActiveX 4.0版(目前最新版本為8.0(最新版本下載),另外TeeChart還有TeeChart for .NET 、TeeChart Pro VCL / CLX 、TeeChart Pro for Java 以及 TeeChart for PHP )。
TeeChart控件應用
TeeChart Pro ActiveX 是西班牙Steema SL公司開發的圖表類控件,主要用來生成各種復雜的圖表。熟悉Delphi和C++ Builder的編程人員對它不會陌生,因為在Delphi和C++ Builder里包括了TeeChart的VCL版本。本文將詳細介紹TeeChart控件應用方法,本文使用的是TeeChart Pro ActiveX 4.0,它的試用版可以點擊這里下載。
TeeChart Pro ActiveX 4.0的主要特性如下:
TeeChart Pro ActiveX 4.0的這些特性使得它具有極大的靈活性,并且使用起來非常方便,只要寫很少的代碼,就可以做出各種復雜、漂亮的圖表。
TeeChart圖表控件類的屬性和方法
TeeChart圖表控件的主類是TChart。TChart中使用了56個類、325個屬性、125個方法以及28個事件,這使得TChart具有非常強大的功能。本文僅簡單地介紹其中一些重要類的屬性和方法。
TChart.Height:圖表的高度(像素);
TChart.Width:圖表的寬度(像素);
TChart.Header:圖表的題頭(Ititles類);
TChart.Series:序列(Series類的數組);
TChart.Axes:坐標軸(Iaxes類);
TChart.Legend:圖例(Legend類);
TChart.Panel:面板(Ipanel類);
TChart.Canvas:畫布(Canvas類)。
Series是要顯示的數據的主體。在一個圖表中可以有一個或多個序列,每個序列可以有不同的顯示類型,如Line、Bar、Pie等等。
Axes控制圖表坐標軸的屬性,在缺省的情況下,坐標軸可以自動地根據不同的數據設置好標度范圍和間隔,當然也可以手工調整。
Legend控制圖表的圖例顯示。Legend是圖表中的一個長方形的用來顯示圖例標注的區域。可以標注Series的名稱或者Series中的項目和數值。
Panel可以設置圖表的背景。可以使用漸變的顏色或者圖像文件作為整個圖表的背景。
Canvas可以讓設計者繪制自己的圖形。使用方法和Delphi中的Canvas一樣。有TextOut、LineTo、Arc等各種畫圖的方法可以調用。
TChart的一些屬性實際上是其他類的變量,這些類又具有自己的屬性和方法。如Ititles類又具有Text、Color、Font等屬性,我們可以用這些屬性來設置題頭的文本、顏色和字體。
TeeChart圖表控件和其他的圖表控件相比,有一個非常重要的特點是TeeChart圖表控件可以把圖表保存為一個JPEG格式的圖形文件。調用格式如下:
TChart.Export.SaveToJPEGFile (FileName,Gray,Performance,Quality,Width,Height)
其中FileName是JPEG文件的保存路徑和文件名,路徑應該是操作系統中的絕對路徑,而不是IIS中的相對路徑,IIS對相應的保存目錄應該具有寫權限。Gray指明是否保存為黑白圖像。Performance指明JPEG是生成質量優先還是速度優先。Quality是一個0到100的整數,100時JPEG質量最好,但文件最大;Quality越小則生成的文件越小,但圖像質量也隨之下降。
為了解決在多用戶并發訪問Web的情況下,JPEG文件互相覆蓋的問題,我們使用了如下所示的一種JPEG文件的命名機制:
OutputJPEGFile =“Chart” & Session.Sessionid &
Replace(Time,“.”,“”) & “.jpg”
在文件名中包括了Sessionid和當前時間,并使用后臺進程定期刪除過期文件。
TeeChart控件應用實例
下面是一個簡單的ASP程序,從中可以看到TeeChart圖表控件在ASP中的使用方法。程序的運行環境為:Windows 2000 Professional、IIS5.0和TeeChart Pro ActiveX .0測試版。
<HTML>
<HEAD><TITLE>TeeChart JPEG Chart Demo Page</TITLE></HEAD>
<BODY>
<!--引入TeeChart常數 -->
<!--METADATA NAME=“TeeChart Pro 4.0
ActiveX Control” TYPE=“TypeLib”
UUID=“{008BBE7B-C096-11D0-B4E3-00A0C901D681}”-->
<%
<!--建立ActiveX Object -->
Set TChart1 = CreateObject(“TeeChart.TChart”)
<!--設置高度和寬度 -->
TChart1.Height=250
TChart1.Width=500
<!--設置圖表題頭 -->
TChart1.Header.Text.Clear
TChart1.Header.Text.Add “K180次旅客列車日發送人數統計圖”
<!--設置圖形背景 -->
TChart1.Panel.Gradient.Visible=True
TChart1.Panel.Gradient.StartColor=RGB(200,255,200)
TChart1.Panel.Gradient.EndColor=RGB(255,255,255)
<!--添加一個序列 -->
TChart1.AddSeries(scBar)
TChart1.Series(0).Clear
TChart1.Series(0).ColorEachPoint = True
TChart1.Series(0).Add 180, “02/10”,clTeeColor
TChart1.Series(0).Add 240, “02/11”,clTeeColor
TChart1.Series(0).Add 210, “02/12”,clTeeColor
TChart1.Series(0).Add 280, “02/13”,clTeeColor
TChart1.Series(0).Add 218, “02/14”,clTeeColor
TChart1.Series(0).Add 225, “02/15”,clTeeColor
<!--保存為JPEG文件 -->
TChart1.Export.SaveToJPEGFile server.mappath(“/teechart”)+“\MyChart.jpg”,False,JPEGBestQuality, 85,TChart1.Width, TChart1.Height
%>
<img src=“MyChart.jpg”></BODY></HTML>
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載