zoukankan      html  css  js  c++  java
  • 任意flex控件导出图片

    任意flex控件导出图片

     

    flex导出图片功能通常是:

    思路1:客户端将UIComponent转化为BitmapData,再转为ByteArray,将ByteArray上传到服务端,服务端发送文件到客户端。

    然而,flex本来就是客户端的东西,为什么还要绕道服务端去呢,这不是化简单为复杂嘛,

    思路2:客户端将UIComponent转化为BitmapData,再转为ByteArray,使用FileReference.save()直接在client端保存图片

    (当然前提要求是:在flash player 10.0中)

    具体代码如下:

    .as 的类文

    package widgets_dr.TJT
    {
    import flash.display.BitmapData;
    import flash.display.DisplayObject;
    import flash.display.DisplayObjectContainer;
    import flash.geom.Matrix;
    import flash.geom.Point;
    import flash.net.FileReference;
    import flash.utils.ByteArray;
     
    import mx.controls.Alert;
    import mx.graphics.codec.PNGEncoder;  
     
     public class ChartExport
     {
      static public var Instance:ChartExport=new ChartExport();
       
      public function ChartExport()
      {
      }
      public function exportChart(d:DisplayObject):void{  
        
       var dt:DisplayObject = d;  
       var bmpData:BitmapData = new BitmapData(d.width,d.height,true,0x00ffffff);    
       bmpData.draw(d);
        
       var fr:Object = new FileReference();  
       if(fr.hasOwnProperty("save"))
       {  
        var encoder:PNGEncoder = new PNGEncoder();  
        var data:ByteArray = encoder.encode(bmpData);  
        fr.save(data,'chart.png');  
       }
       else
       {  
        Alert.show("当前flash player版本不支持此功能,请安装10.0.0以上版本!","提示");  
         
       }  
        
      }
     }
    }

    然后在felx的mxml代码中创建这个类的对象,用这个类的对象去引用方法执行即可

    例如:

    var d:DisplayObject=DisplayObject(tabb);
        ChartExport.Instance.exportChart(d);

    顺便讲一下,Datagrid导出excel的方法:

    导入 import com.esri.viewer.utils.ExcelUtil;

    然后 click="ExcelUtil.exportGrid(querydg,'矿权综合查询')"

  • 相关阅读:
    iOS_文件上传进度条的实现思路-AFNettworking
    快手为什么成功
    Swift 3.1 的一些新特性
    字典类型的字符串转成字典
    phpmyadmin通过日志文件拿webshell
    计算机网络基础知识
    写一个php小脚本辅助渗透测试
    Zabbix exp编写
    sqlmap里如何添加字典
    过狗注入学习姿势分享2[投稿华盟网]
  • 原文地址:https://www.cnblogs.com/wshsdlau/p/3480228.html
Copyright © 2011-2022 走看看