flex save chart

flex:

chartPanel是要save的元件

<mx:Button label="Save Image" click="displayChart(chartPanel)"/>

 

public function takeSnapshot(comp:DisplayObject):void
        {
           //for flex_2 

            var bd:BitmapData = new BitmapData(comp.width,comp.height);
            bd.draw(reportTile);
            var ba:ByteArray = PNGEnc.encode(bd);
            var b64Encode:Base64Encoder = new Base64Encoder();
            b64Encode.encodeBytes(ba);

            var b64String = b64Encode.flush();

 

           //for flex_3

            var snapshot:ImageSnapshot = ImageSnapshot.captureImage(comp);             
            var b64String:String = ImageSnapshot.encodeImageAsBase64(snapshot);
           //for firefox
            //var u:URLRequest = new URLRequest("data:image/png;base64,"+b64String );
           //for IE & firefox

            var u:URLRequest = new URLRequest(urlString +"/displaychart.cgi");
            var v:URLVariables = new URLVariables();
            v.imageString = b64String ;
            u.data = v;
            u.method = URLRequestMethod.POST;
            navigateToURL(u,"_blank");
        }

 

 displaychart.cgi

 

#!c:/perl/bin/perl -w
use strict;
use Net::LDAP;
use DBI;
use CGI qw/:standard/;
use MIME::Base64;

#print "Content-type: application/octet-stream/n";
#print "Content-Disposition: attachment; filename=chart.png/n/n";
print "Content-type: image/png/n/n";

print decode_base64(param('imageString'));

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值