armfly 发表于 2016-1-6 09:53:26

TChart 保存为图像

很容易实现的,先用Chart1->TeeCreateBitmap()返回是BITMAP的类型,有这个不就成了吗?或者有个更好的的办法,


Chart1->CopyToClipboardBitmap();直接到系统剪切板上,到EXCEL里一帖就行了。呵呵。

=====================

Chart1.SaveToBitmapFile('d://test.bmp'); 直接保存为bmp格式图像

---------------------------------------------------------------------------
procedure TMainForm.Button1Click(Sender: TObject);
begin   
   Chart1.Print();
end;


procedure----------------------------------------------------------------
TMainForm.Button3Click(Sender: TObject);
begin   
    SaveDialog1.Execute;   
    Chart1.SaveToBitmapFile(SaveDialog1.FileName+'.bmp');
end;





. 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的图像导出进行汇总。
页: [1]
查看完整版本: TChart 保存为图像