彩票走势图

logo 【TeeChart VCL/FMX】教程2019
文档彩票走势图>>【TeeChart VCL/FMX】教程2019>>TeeChart Pro VCL/FMX教程(十二):图表的导出和导入

TeeChart Pro VCL/FMX教程(十二):图表的导出和导入


    TeeChart Pro VCL/FMX是一款主流的图表制作工具。提供了数百种用于可视化的2D、3D图形样式、56种数学、统计和金融函数,以及不限数量的坐标轴和30种调色板组件。TeeChart Pro VCL/FMX教程将会以连载的形式持续为大家带来TeeChart Pro VCL/FMX的使用方法。 

点击下载TeeChart Pro VCL/FMX最新试用版


    本篇教程为大家带来的是TeeChart Pro VCL/FMX中图表的导出和导入的这一节,概述了以各种格式导出TeeCharts并导入TeeChart自己的.tee格式图表模板。内容主要分为以下几个部分: 

  1. 导出图表

    可用格式

    示例导出

  2. 导出图像

    JPEG,GIF,PNG

  3. 导出数据

    text,XML,HTML,XLS和XLSX

  4. TeeChart的Tee模板和数据导出/导入格式

    Tee files

  5. 导入

    导入Tee格式文件

    示例导入Tee文件

    ChartWebSource和SeriesTextSource


导出图表

可用格式

    可用的导出格式——可以将所有格式复制到文件或剪贴板,某些格式可能会复制到Stream。

图像格式

(BMP)                CopyToClipboardBitmap

(WMF)         ;      CopyToClipboardMetafile

BMP                  TBMPExportFormat

JPEG                  SaveChartToJPEGFile

WMF                 TEMFExportFormat.Enhanced (false)

EMF                   TEMFExportFormat

GIF                     TGIFExportFormat

PNG                   TPNGExportFormat

PCX                    TPCXExportFormat

VML (HTML)      TVMLExportFormat

PDF                    TPDFExportFormat

SVG                    TSVGExportFormat

EPS                     TEPSExportFormat

Flex(Flash)          TFlexExportFormat

VRML 3D ;           TVRMLExportFormat

XAML (WPF)       TXAMLExportFormat

数据格式

Text                    TSeriesDataText

XML                    TSeriesDataXML

HTML                  TSeriesDataHTML

Excel                    TSeriesDataXLS

其他格式

    Tee格式是一种灵活的格式,可存储图表属性信息以及(可选)图表数据。 文件很小(取决于数据),非常适合网络用于更新基于实时客户端的图表。

TEE(TeeChart)SaveChartToFile

    在运行时,您可以使用以下命令显示导出对话框:

图表 TeeExport

例:

TeeExport( Self, Chart1 );

示例导出

    可以导出到文件中,大部分情况,都只需要定义目标的文件名。

例:

if SaveDialog1.Execute then 
     Chart1.SaveToBitmapFile(SaveDialog1.FileName);

导出图像

JPEG

    TeeChart本身并未包含导出方法,这是为了避免非JPEG应用程序的内存使用。

例:

// You need to include the Delphi JPEG unit in the Uses section of your project
// Pass the name of the Chart to this function. We've fixed the parameters here.
// In the demo they are presented as options for the user.
// Place a Chart (Chart1) on a Form and populate it with data.

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 With GetChartJPEG(Chart1) do
 try
  SaveToFile('c:\temp\myJPEGChart.jpg');    { <-- save the JPEG to disk }
 finally
  Free;  { <-- free the temporary JPEG object }
 end;
end;

Function GetChartJPEG(AChart:TCustomChart):TJPEGImage;
var tmpBitmap:TBitmap;
begin
  result:=TJPEGImage.Create;   { <-- create a TJPEGImage }

  tmpBitmap:=TBitmap.Create;   { <-- create a temporary TBitmap }
  try

    tmpBitmap.Width :=AChart.Width;   { <-- set the bitmap dimensions }
    tmpBitmap.Height:=AChart.Height;

    { draw the Chart on the temporary Bitmap... }
    AChart.Draw(tmpBitmap.Canvas,Rect(0,0,tmpBitmap.Width,tmpBitmap.Height));

    { set the desired JPEG options... }
    With result do
    begin
      GrayScale            :=False;
      ProgressiveEncoding  :=True;
      CompressionQuality   :=50;  // % 0 - 100
      PixelFormat          :=jf24bit;  // or jf8bit
      ProgressiveDisplay   :=True;
      Performance          :=jpBestQuality;  // or jpBestSpeed
      Scale                :=jsFullSize;  // or jsHalf, jsQuarter, jsEighth
      Smoothing            :=True;

      { Copy the temporary Bitmap onto the JPEG image... }
      Assign(tmpBitmap);
    end;
  finally
    tmpBitmap.Free;  { <-- free the temporary Bitmap }
  end;
end;

    性能,jpegBestQuality和压缩质量百分比(高值减去压缩)的存在将使文件更大,导出花费的时间会更长,但是导出的效果会更好,可以根据自己的需求来选择。

GIF

    TeeChart提供了创建GIF图表图像的方法,但您应该使用Unisys检查您的许可位置,以便使用GIF LZW编码图像。 替代RLE编码不受Unisys许可的约束。

使用TeeChart对话的示例

Uses TeeGIF, TeExport;

procedure TGIFExportForm.Button1Click(Sender: TObject);
begin
  TeeSavePanel(TGIFExportFormat,Chart1);
end;

示例代码

Uses TeeGIF, GIFImage;

procedure TForm1.Button1Click(Sender: TObject);
var tmpGIF : TGIFImage;
begin
  tmpGIF:=TGIFImage.Create;

  With tmpGIF do
  begin
    Compression:=gcLZW;
    DitherMode:=dmStucki;
    ColorReduction:=rmQuantizeWindows;

    Assign(Chart1.TeeCreateBitmap(Chart1.Color,Rect(0,0,Chart1.Width,Chart1.Height)));

    SaveToFile('c:\tempCharts\Chart1.gif');
  end;
end;

PNG

    要使用PNG图像格式,\ Windows \ System文件夹或路径中需要有LPng.DLL。 PNG提供主要浏览器支持的压缩图像格式。

例:

Uses TeePNG, TeExport;

procedure TPNGExportForm.Button1Click(Sender: TObject);
begin
  TeeSavePanel(TPNGExportFormat,Chart1);
end;

导出数据

  &nbsp; TeeStore单元包括TSeriesData组件及其后代的定义:

Text               TSeriesDataText

XML      &nbsp;        TSeriesDataXML

HTML&nbsp;            TSeriesDataHTML

Excel               TSeriesDataXLS (pre 2013 Excel xls) and TSeriesDataXLSObject (later versions of Excel for xlsx files)

    可以创建上述组件并将其与图表系列相关联,从中可以将数据导出为文件, Stream或Clipboard。以下示例将图表系列中的数据导出到HTML表:

  With TSeriesDataHTML.Create(Chart1,Series1) do
  Begin
    IncludeHeader:=True;
    SaveToFile('c:\tempdata\Series1HTMLData.txt');
  end;

以上随机数据集的输出如下:

Series1
308
267
170
192
284
265
296
335
454

Excel导出代码的示例:

uses TeeExcelSource

 try
   xlsexp := TSeriesDataXLSObject.Create(Chart1);
   xlsexp.IncludeHeader :=  True;
   xlsexp.IncludeIndex := True;
   xlsexp.SaveToFile('c:\temp\myExcelFile.xlsx');
 finally
   xlsexp.Free;
 end;

TeeChart的Tee模板和数据导出/导入格式

Tee files

    Tee files是TeeChart自己的模板格式,用于保存图表及其数据。修改的图表属性随模板一起保存,并将在模板导入新图表时重现。

优点:

  • Tee文件的尺寸非常小,在大多数情况下,它提供了优于纯图形格式(Quicker)的优势。

  • 模板的目标图表是实时的,可以进行缩放和滚动,并修改其属性。

  • 根据您的偏好,数据可以选择包含在Tee模板中。

SaveChartToFile / SaveChartToStream的声明:

procedure SaveChartToFile(AChart: TCustomChart; Const AName: String; IncludeData: Boolean);

 procedure SaveChartToStream(AChart: TCustomChart; AStream: TStream; IncludeData: Boolean);

 {See the TeeStore unit for more information}

例:

// Add the unit teestore to the 'Uses' section of your project

With SaveDialog1 do
begin
  Filter:='Teefiles|*.tee';

  if Execute then 
     SaveChartToFile(Chart1,SaveDialog1.FileName,True);
end;

导入

导入Tee格式文件

    从本地文件源或http数据源导入已保存的Tee文件。

示例导入Tee文件

// Import from file

procedure TForm1.Button1Click(Sender: TObject);
var tmpChart : TCustomChart;
begin

  Chart1.Free;   // Assuming Chart1 is already on the Form
  tmpChart:=TChart.Create(Self);

  With OpenDialog1 do
  begin
    Filter:= 'Teefiles|*.tee';
    if Execute then 
       LoadChartfromFile(tmpChart,OpenDialog1.FileName);
  end;

  Chart1 := tmpChart as TChart;

  With Chart1 do
  begin
    Parent:=Self;
  end;
end;

   &nbsp;您还可以从URL,LoadChartFromURL导入TeeChart文件。

ChartWebSource和SeriesTextSource

    可以通过LoadChartFromURL方法或ChartWebSource组件从远程Web源导入Tee文件。 可以通过TSeriesTextSource组件导入CSV数据。


    TeeChart for .NETTeeChart for JavaScript/HTML5TeeChart for Xamarin.Android均已加入在线订购,现在抢购可立享特别优惠!!!

    ;关注慧聚IT微信公众号???,了解产品的最新动态及最新资讯。

dd2629f30d553d56ccaf7164fdcb784e-sz_28327.webp.jpg




扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP