我们都知道用Delphi第三方图表工具 TeeChart 可以导出很多种图像格式,TeeChart 7 前可以通过类似于Chart1.Export.SaveToJPEGFile的方法把TChart存成需要的图像格式,但到TeeChart 7后就没有Export属性了。下面我用代码示例总结一下导出各种图像格式时的设置方法:
TeeChart导出BMP、WMF
TeeChart提供导出BMP、WMF的方法,直接调用即可,示例如下:
Chart1.SaveToBitmapFile('c:\1.bmp');
Chart1.SaveToMetafile('c:\1.wmf');
TeeChart导出JPG(JPEG)
TeeChart导出JPG(JPEG)也比较简单,在本单元中uses TeeJPEG单元,然后执行TeeJPEG中的TeeSaveToJPEG或TeeSaveToJPEGFile。示例如下:
//注意要包含TeeJPEG才可以
implementationuses TeeJPEG;
procedureTForm1.Button2Click(Sender: TObject);
begin TeeSaveToJPEG(Chart1, 'c:\1.jpg', -1, -1);
//后面的两个参数是宽和高,如果用TeeChart的宽、高可以设为-1.end;
TeeChart导出GIF
TeeChart导出GIF较复杂一些,代码示例:
//注意要包含TeeGIF才可以implementationuses TeeGIF;procedureTForm1.Button3Click(Sender: TObject);
var exp : TGIFExportFormat;
frm : TTeeGIFOptions;begin exp := TGIFExportFormat.Create;
exp.Panel := Chart1;
frm := TTeeGIFOptions(exp.Options());
frm.CBReduction.ItemIndex := 3;
exp.SaveToFile('c:\1.gif');
exp.Free;
end;
注:上面的例子对于TeeChart的图像导出很有代表意义,其实所有格式的导出到可以用上例的方式,只是把TGIFExportFormat换成需要的格式即可,因为所有的导出都对应一种格式。
上面例子中,生成一个导出的格式类对象,设置此格式要导出的Chart,如果有必要再设定导出的选项。导出选项要特别提醒一下,所有导出格式的导出选项都是通过格式类的Options()函数得到的窗体进行设置的,这点比较奇怪。
GIF导出必须设定frm.CBReduction.ItemIndex,因为此项缺省为0,导出时会报“Color Table error....”的错误,所以必须设为非0的值,每个值代表什么意思,自己可以查一下。
TeeChart导出PCX
TeeChart导出PCX同导出GIF极其类似,代码示例如下:
//注意要包含TeePCX才可以implementationuses TeePCX;procedureTForm1.Button4Click(Sender: TObject);
var exp : TPCXExportFormat;
begin exp := TPCXExportFormat.Create;
exp.Panel := Chart1;
exp.SaveToFile('c:\1.pcx');
exp.Free;
end;
TeeChart导出HTM
TeeChart可以直接导出到HTM,在本单元中uses TeeVMLCanvas单元,然后执行TeeVMLCanvas中的TeeSaveToVMLFile即可。示例如下:
//注意要包含TeeVMLCanvas才可以
implementationuses TeeVMLCanvas;
procedureTForm1.Button5Click(Sender: TObject);
begin TeeSaveToVMLFile(Chart1, 'c:\1.html');
end;
TeeChart导出PNG
TeeChart可以很容易导出到PNG,在本单元中uses TeePNG单元,然后执行TeePNG中的TeeSaveToPNG即可。示例如下:
//注意要包含TeePNG才可以
implementationuses TeePNG;
procedureTForm1.Button7Click(Sender: TObject);
begin TeeSaveToPNG(Chart1, 'c:\1.png');
end;
注意:保存PNG格式需要LPng.dll,所以为了能正常运行上例代码需下载安装LPng.dll。
本文总结了TeeChart 导出图像时的各种方法,每种方式都给出了代码示例,希望对使用TeeChart的朋友有所帮助。