TeeChart for PHP教程(九):图表的导出和导入

    TeeChart for PHP包含100%的PHP源代码。它支持PHP5及更高的版本。它可作为一个调色板组件整合到针对PHP的Delphi编程环境中,从而让其他人在运行时以创建组件的方式来引用。第一个版本提供17种图表类型(2D和3D的多种组合),11个数学函数和一些图表工具组件以扩展功能。

点击下载TeeChart for PHP试用版


    本教程是TeeChart for PHP教程中图表的导出和导入这一节。本章节的内容主要介绍如何以各种格式导出TeeCharts并导入TeeChart自己的.tee格式图表模板。    

  1. 导出图表

    可用格式

  2. 导出图像

    JPEG

    GIF

    PNG

  3. 导出数据

    文本

    XML

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

    Tee文件

  5. 导入

    导入Tee格式文件

    示例导入Tee文件            


导出图表

可用的导出格式

    可以将所有格式复制到文件或剪贴板或流中。

图像格式

  • JPEG:JPEGFormat类

  • GIF:GIFFormat类

  • PNG:PNGFormat类

  • WBMP:WBMPFormat类

数据格式

  • Text:TextFormat类

  • XML:XMLFormat类

  • HTML:HTMLFormat类

  • Excel:ExcelFormat类

其他格式

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

示例导出

    可以合理导出到文件,在大多数情况下,您只需要定义目标文件名。

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

JPG

    JPEG文件导出具有速度和质量的附加参数。

$tmpResult = fc.showSaveDialog(JpegExportDemo.this);
            if (tmpResult == JFileChooser.APPROVE_OPTION) {
                File file = fc.getSelectedFile();
                String tmpName = file.getAbsolutePath();
                if (!ExportUtils.isExtension(file, ExportUtils.JPG)) {
                    tmpName = ExportUtils.replaceExtension(file, ExportUtils.JPG);
                }                
                myChart.getExport().getImage().getJPEG().save(tmpName);
            }

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

GIF

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

int tmpResult = fc.showSaveDialog(GifExportDemo.this);
            if (tmpResult == JFileChooser.APPROVE_OPTION) {
                File file = fc.getSelectedFile();
                String tmpName = file.getAbsolutePath();
                if (!ExportUtils.isExtension(file, ExportUtils.GIF)) {
                    tmpName = ExportUtils.replaceExtension(file, ExportUtils.GIF);
                }
                myChart.getExport().getImage().getGIF().save(tmpName);
            }

PNG

    PNG格式保留了GIF格式的许多优点,但也提供了超出GIF格式的功能。PNG改进了GIF逐步显示图像的能力,也就是说,当图像通过网络连接到达时,能够显示更好的图像近似值。

 int tmpResult = fc.showSaveDialog(PngExportDemo.this);
            if (tmpResult == JFileChooser.APPROVE_OPTION) {
                File file = fc.getSelectedFile();
                String tmpName = file.getAbsolutePath();
                if (!ExportUtils.isExtension(file, ExportUtils.PNG)) {
                    tmpName = ExportUtils.replaceExtension(file, ExportUtils.PNG);
                }
                myChart.getExport().getImage().getPNG().save(tmpName);
            }

导出数据

    以下示例以Text或XML格式从Chart Series导出的数据。它们可以创建并与图表系列相关联,从中可以将数据导出为文件,流或剪贴板。

文本文件

try {
                    $myChart->getExport()->getData()->getText()->save($tmpName);
                }

XML文件

 try {
                    $myChart->getExport()->getTemplate()->toXML($tmpName);
                    $showSavedFile(tmpName);
                }

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

Tee文件

    Tee文件是TeeChart自己的模板格式,用于保存图表及其数据,并在Java IDE中具有.tej的扩展名。修改的图表属性随模板一起保存,并在将模板导入新图表时重现。

好处:

  • Tep文件的大小非常小,在大多数情况下,它比纯图形格式(Quicker)更具优势。

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

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

 try {
             $tChart1->getExport()->getTemplate()->toFile("/temp/chart1.tep");       
         } catch (IOException ex1) {
                 ex1.printStackTrace();
         }
导入

    从URL导入XML,显示如何从/向xml导出和加载的示例:

Save to xml; 
 
             try {
                $myChart->getExport()->getTemplate()->toXML($tmpName);
                    showSavedFile($tmpName);
                } catch (FileNotFoundException $e) {
                    System.out.println(e);
                }
 
 
Load from xml:
             try {                               
                    $myChart->setChart($myChart->getImport()->getTemplate()->fromXML($tmpName));
                    $myChart->repaint();
                }
                catch (FileNotFoundException $e) {
                    System.out.println(e);
                }

导入Tee格式文件

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

import from file 
            $tChart1->getImport()->getTemplate()->fromFile("myFile.tep");
    
    or 
    XML.. 
            $tChart1->getImport()->getTemplate()->fromXML("myFile.xml");
 
 
    or 
    Stream.. 
            try {
                //( 1) Save the template into a Stream...
                ByteArrayOutputStream m = new ByteArrayOutputStream();                 
                $myChart->getExport()->getTemplate()->toStream($m);
                //( 2) Load the template into other Chart...
                $copyChart->setChart($copyChart->getImport()->getTemplate()->fromStream(
                        new ByteArrayInputStream(m.toByteArray())
                ));
                //( 3) repaint the Chart
                $copyChart->repaint();
            } catch (IOException $ex) {
                System.out.println(ex);
            } catch (ClassNotFoundException $ex) {
                System.out.println(ex);
            }

    本节教程就到这里了,下一章我们将会介绍如何在图表面板上自定义绘图。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值