组合优化与智能计算分享 http://blog.sciencenet.cn/u/fswdong 清淡的生活,枯燥的钻研,幸福的泪水,拼搏的超脱

博文

[转贴]Borland Delphi中TChart7控件图像导出汇总

已有 5236 次阅读 2009-6-21 08:39 |个人分类:科研资源|系统分类:科研笔记| Delphi, TChart

为乐方便生成一些统计图,数据统计和图表生成之前一直使用Borland Delphi TChart来做的,这些使一些基本TChart编程导出各种图形文件的方法

1. TChart7前的版本

TChart7前的TChart可以通过类似于Chart1.Export.SaveToJPEGFile的方法把TChart存成需要的图像格式,但到TChart7后TChart就没有Export属性了,要导出图像要用下面的方法。我尽量用代码说明问题,如果细节不够的话,自己可以查询相应的源代码进行学习。

2. TChart7导出BMP、WMF

TChart7提供导出BMP、WMF的方法,直接调用即可,例子如下:

Chart1.SaveToBitmapFile('c:1.bmp');
Chart1.SaveToMetafile('c:1.wmf');

3. TChart7导出JPG(JPEG)

TChart7导出JPG(JPEG)也比较简单,在本单元中uses TeeJPEG单元,然后执行TeeJPEG中的TeeSaveToJPEG或TeeSaveToJPEGFile。例子如下:

//注意要包含TeeJPEG才可以。
implementation
uses
TeeJPEG;

procedure TForm1.Button2Click(Sender: TObject);
begin
TeeSaveToJPEG(Chart1, 'c:1.jpg', -1, -1);//后面的两个参数是宽和高,如果用TeeChart的宽、高可以设为-1.
end;

4. TChart7导出GIF

TChart7导出GIF比较复杂一些,还是用代码举例吧。

//注意要包含TeeGIF才可以。
implementation
uses
TeeGIF;

procedure TForm1.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;

稍微解释一下,上面的例子对于TChart7的图像导出很有代表意义,其实所有格式的导出到可以用上例的方式,只是把TGIFExportFormat换成需要的格式即可,因为所有的导出都对应一种格式。

上面例子中,生成一个导出的格式类对象,设置此格式要导出的Chart,如果有必要再设定导出的选项。导出选项要特别提醒一下,所有导出格式的导出选项都是通过格式类的Options()函数得到的窗体进行设置的,这点比较奇怪。

GIF导出是必须设定frm.CBReduction.ItemIndex,因为此项缺省为0,导出是会报“Color Table error....”的错误,所以必须设为非零的值,每个值代表什么意思,自己可以查一下。

5. TChart7导出PCX

TChart7导出PCX同导出GIF极其类似,代码示例如下:

//注意要包含TeePCX才可以。
implementation
uses
TeePCX;

procedure TForm1.Button4Click(Sender: TObject);
var
exp : TPCXExportFormat;
begin
exp := TPCXExportFormat.Create;
exp.Panel := Chart1;
exp.SaveToFile('c:1.pcx');
exp.Free;
end;

6. TChart7导出HTM

TTChart7可以直接导出到HTM,在本单元中uses TeeVMLCanvas单元,然后执行TeeVMLCanvas中的TeeSaveToVMLFile即可。示例如下:

//注意要包含TeeVMLCanvas才可以。
implementation
uses
TeeVMLCanvas;
procedure TForm1.Button5Click(Sender: TObject);
begin
TeeSaveToVMLFile(Chart1, 'c:1.html');
end;

7. TChart7导出PNG

TTChart7可以很容易导出到PNG,在本单元中uses TeePNG单元,然后执行TeePNG中的TeeSaveToPNG即可。示例如下:

//注意要包含TeePNG才可以。
implementation
uses
TeePNG;

procedure TForm1.Button7Click(Sender: TObject);
begin
TeeSaveToPNG(Chart1, 'c:1.png');
end;

要注意的是,保存PNG格式需要LPng.dll,所以为了能正常运行上例代码需下载安装LPng.dll。

8. 结语

本文给出了TeeChart7导出图像时的方法,每种方式都给出了代码示例,希望对使用TChart7的图像导出进行汇总。



https://blog.sciencenet.cn/blog-253220-239406.html

上一篇:[转贴]VC常用数据类型使用转换详解
下一篇:[翻译]Shor算法求解步骤
收藏 IP: .*| 热度|

0

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-3 23:13

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部