轉(zhuǎn)帖|使用教程|編輯:況魚杰|2019-12-25 11:09:26.390|閱讀 667 次
概述:本教程轉(zhuǎn)自屈景輝的Teechart應(yīng)用技術(shù)詳解——快速圖表制作工具一書。接下來將會介紹第六章——TeeChart圖表的打印與導(dǎo)出,本文將會介紹第二節(jié)如何以圖表形式導(dǎo)出。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Steema公司和慧都科技針對中國市場聯(lián)合推出中文版TeeChart for .NET圖表控件,一共漢化2000個詞條(17000個單詞),漢化文檔35000個單詞,包括控件設(shè)計(jì)時與運(yùn)行時的界面漢化以及控件使用向?qū)?文檔的漢化,總漢化90%以上!
TeeChart for .NET中文版讓您在使用和學(xué)習(xí)上沒有任何語言障礙,至少可以節(jié)省30%的開發(fā)時間。TeeChart for .NET中文版具有易上手,使用方便,穩(wěn)定性好,性價比高,價格優(yōu)惠等優(yōu)勢,并且針對Web應(yīng)用提供無限制服務(wù)器分發(fā)授權(quán)方式,非常有利于產(chǎn)品集成。
點(diǎn)擊下載TeeChart for .NET最新試用版
圖表導(dǎo)出是指將圖表組件產(chǎn)生的圖形轉(zhuǎn)換為某種格式或以文件形式保存或復(fù)制到剪貼板上。Tee Chart Pro v7提供了豐富的轉(zhuǎn)換格式,圖形可導(dǎo)出的格式有: Native tee、PNG、GIF、BMP、WMF、EMF、JPEG、PCX、PDF、EPS、VML、SVG、GDI+等,數(shù)據(jù)導(dǎo)出的格式有:Native(二進(jìn)制或文本)tee、文本(CSV)、XML、Excel、HTML表等。
通過調(diào)用圖表組件的方法導(dǎo)出
Tee Chart Pro v7為導(dǎo)出圖表提供了多種方法。在程序運(yùn)行過程中,可以通過調(diào)用圖表組件有關(guān)復(fù)制與保存位圖文件的方法實(shí)現(xiàn)圖表導(dǎo)出。組件中的方法可分為兩組,一組是保存為Bitmap格式的位圖文件和元文件( Metafile。)格式,如
Chart1.SaveToBitmapFile( Const FileName:string);
Chart1.Save ToBitmapFile( Const FileName:string: Const R:TRect);
Chart1.Save ToMetafile( Const FileName:string);
Chart1.Save ToMetafileEnh( Const FileName: string);
Chart1.Save ToMetafileRect(Enhances:Boolean, Const FileName: string; Const R:TRect );
另一組方法是將圖表以位圖或元文件格式復(fù)制到剪貼板上,如:
Chart1.Copy ToClipboardBitmap;
Chart1.Copy ToClipboardBitmap( Const R:TRect);
Chart1.Copy ToClipboardMetafile( Enhanced: Boolean);
Chart1.Copy ToClipboardMetafile(Enhanced: Boolean; Const R:TRect );
通過調(diào)用非可視組件的方法導(dǎo)出
在 TeeChart Pro v7的源程序中,包含類似TeeJPEG.pas、TeePNG.pas、TeeSVGCanvas.pas等一些*pas文件,通過仔細(xì)分析發(fā)現(xiàn),這些文件的作用就是將圖表組件顯示的圖表導(dǎo)出為指定的格式。為將圖形轉(zhuǎn)換為指定格式,需將對應(yīng)文件在用戶程序的uses段進(jìn)行引用,也就是說在源程序的uses段加入相應(yīng)的源文件例如,需要轉(zhuǎn)換為JPEG格式,則在ues段加入TeeJPEG。即uses TeeJPEG
然后,在導(dǎo)出的代碼段中采用下列格式調(diào)用:
procedure TeeSaveToJPEG( APanel:TCustomTeePanel;//圖表組件的Panel Const FileName:WideString;//需要保存的文件名 AWidth, AHeight: Integer);// Panel的寬、高
其中APanel就是圖表組件的Panel, FileName是需要導(dǎo)出的文件名, AWidth、 AHeight分別為Panel的寬和高。下面的代碼將圖表導(dǎo)出為BB.PG文件:
TeeSaveToJPEG (Chart1,'BB.JPG', 289, 229);
為了便于讀者程序設(shè)計(jì)時使用,下表中列出圖表組件未提供的格式導(dǎo)出所使用的源程序與調(diào)用格式。
導(dǎo)出格式列表
格式 | 調(diào)用格式 | 源代碼 |
JPEG | procedure TeeSaveToJPEG( Apanel:TcustomTeePanel; const FileName: WideString; Awidth, Aheight: Integer); | TeeJPEG |
PDF | procedure TeeSaveToPDFFile( Apanel:TcustomTeePanel; const FileName: WideString; Awidth:Integer=0; Aheight:Integer=0); | TeePDFCanvas |
PNG | procedure TeeSaveToPNG( Apanel:TcustomTeePanel; const AfileName:WideString; Awidth:Integer=0; Aheight:Integer=0); | TeePNG |
PS | procedure TeeSaveToPSFile( Apanel:TcustomTeePanel; const FileName:WideString; Awidth:Integer=0; Aheight:Integer=0); | TeePSCanvas |
SVG | procedure TeeSaveToSVGFile( Apanel:TcustomTeePanel; const FileName:WideString; Awidth:Integer=0; Aheight:Integer=0); | TeeSVGCanvas |
VML | procedure TeeSaveToVMLFile( Apanel:TcustomTeePanel; const FileName:WideString; Awidth:Integer=0; Aheight:Integer=0); | TeeVMLCanvas |
注意:在導(dǎo)出上標(biāo)中的任一格式時,必須在uses段引用指定格式的源代碼。
導(dǎo)出對話框( Export Dialog)的調(diào)用
在Tee Chart Pro v7的源代碼中,可以找到導(dǎo)出對話框( Export Dialog)窗口及對應(yīng)代碼,由于該對話框與多個窗體有關(guān),用戶很難在短時內(nèi)將其關(guān)系搞清楚,直接調(diào)用這個對話框出現(xiàn)的一些錯誤也不知如何處理,這里采用在圖表編輯器的基礎(chǔ)上實(shí)現(xiàn)調(diào)用導(dǎo)出對話框的功能,導(dǎo)出對話框設(shè)計(jì)階段的界面如下圖所示。
為了能夠實(shí)現(xiàn)導(dǎo)出對話框的功能,這里提供一個最為簡便且與直接調(diào)用效果完全相同的方法。在Delphi7的TeeChart組件板上提供了圖表編輯器對話框 TChartEditor,程序設(shè)計(jì)時可將該組件拖入窗體,然后在調(diào)用導(dǎo)出對話框Button2的OnClick事件中加入下列代碼:
begin ChartEditor1.HideTabs:= [cetMain, cetGeneral, cetAxis, cetTitles, cetLegend, cetPanel, cetPaging, cetWalls, cet 3D, cetSeriesGeneral, cetSeriesMarks, cetAllSeries, cetSeriesData, cetExport, cetTools, cetPrintPreview]; ChartEditor1.Title:='圖表導(dǎo)出( Export)'; ChartEditor1.HighLightTabs:=true;//高亮 ChartEditor1.DefaultTab:=cetExport;//頁面名稱,導(dǎo)出頁面 ChartEditor1.Execute; End;
該代碼中的ChartEditor1.HideTabs的作用是將TChartEditor組件中的頁面全部隱藏,然后,以高亮的形式顯示導(dǎo)出頁面( Export)。下圖有單擊調(diào)用導(dǎo)出對話框后顯示的導(dǎo)出頁面,與直接調(diào)用導(dǎo)出對話框的效果一致。下圖所示的對話框Picture選項(xiàng)卡的Format列表框中顯示的內(nèi)容中只有三種導(dǎo)出類型,出現(xiàn)這種現(xiàn)象的原因是導(dǎo)出的每種格式都是需要源代碼支持的,因此,在用戶程序的uses段需加入下列引用:
TeePDFCanvas, TeeSVGCanvas, TeeVMLCanvas TeePSCanvas, TeePCX, TeeGIF, TeePNG TeeJPEG
上述引用加入后,需要重新啟動計(jì)算機(jī),然后再運(yùn)行該程序,這時導(dǎo)出對話框的Picture選項(xiàng)卡的Format列表框顯示的內(nèi)容就發(fā)生變化——增加了新的格式,如下面右圖所示:
導(dǎo)出對話框調(diào)用演示實(shí)例
導(dǎo)出對話框調(diào)用演示的設(shè)計(jì)階段界面如下圖所示。窗體上部是圖表組件Chart1,下部的
Panel1上放置導(dǎo)出對話框和退出兩個按鈕Button2和Button1,以及圖表編輯器組件ChartEditor1和定時器Timer1。
圖表編輯器ChartEditor1是在Button2的OnClick事件中調(diào)用的,代碼如導(dǎo)出對話框( Export Dialog)的調(diào)用中所示。定時器組件是考慮到Series1:TGaugeSeries是一個儀表組件,在任一時刻都只有一個值,所以在Timer1的OnTimer事件中用隨機(jī)函數(shù)發(fā)生器產(chǎn)生0~100的一個整數(shù),使得該組件在程序運(yùn)行期間一直處于動態(tài)變化之中。下面是演示程序的源代碼:
unit Unit1; interface uses Windows, Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,Series,TeEngine,TeeGauges,ExtCtrls,TeeProcs,Chart,TeePDFCanvas,TeeSVGCanvas, TeeVMLCanvas,TeePSCanvas,TeeGIF,TeePNG,TeeJPEG,TeeEdit, Buttons,StdCtrls,JPEG,TeeExport,TeeBmpOptions,TeeEmfOptions,TeeEdiTCha,Menus; type TForm1=class(TForm) Chart:TChart; Timer1:TTimer; Series1:TGaugeSeries; Panel1:TPanel; Button1:TButton; Button2:TButton; ChartEditor1:TChartEditor; procedure Timer1Timer(Sender:TObject); procedure Button1Click(Sender:TObject); procedure Button2Click(Sender:Tobject); Private {Private declarations} public {Public declarations} end; var Form1:TForm1; implementation {$R * .dfm} procedure TForm1.Timer1Timer(Sender:Tobject); begin//定時器事件中產(chǎn)生隨機(jī)數(shù)驅(qū)動儀表盤 Series1.Value:=Random(100); end; procedure TForm1.Button1Click(Sender: TObject): begin// Button1為退出按鈕 Close; end; procedure TForm1.Button2Click(Sender:TObject); begin//調(diào)用圖表編輯器的導(dǎo)出對話框( Export Dialog) ChartEditor1.HideTabs:=//隱藏所有頁面 [cetMain, cetGeneral, cetAxis, cetTitles,cetLegend, cetPanel, cetPaging, cetWalls,cet3D, cetSeriesGeneral,cetSeriesMarks,cetAllSeries,cetSeriesData,cetExport, cetTools, cetPrintPreview]; ChartEditor1.Title:=·圖表導(dǎo)出( Export)'; ChartEditor1.HighLightTabs:=true;//高亮 ChartEditor1.De faultTab:=cetExport;/頁面名稱:導(dǎo)出 ChartEditor1.Execute;//執(zhí)行組件 end; end.
注意:圖表編輯器的Chart屬性一定要設(shè)定為圖表組件名,否則將調(diào)用失敗。下圖是導(dǎo)出的JPG、EPS、PCX和PDF格式效果示意圖。
相關(guān)資料推薦:
下一章:以圖表形式導(dǎo)出
=====================================
現(xiàn)TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購,現(xiàn)在搶購可立享優(yōu)惠!
關(guān)注慧聚IT微信公眾號???,了解產(chǎn)品的最新動態(tài)及最新資訊。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: