Flex 屏幕截图并导出图片

  在flex中也经常会用到截图功能,并且将截图的图片保存至本地。一想到图片那么我们就自然想到他的存在形式 bitmap byteArray.所以自然就会联系到bitmap类上去。
  下面让我们一起来看看都有哪些方法吧。
  方法一:按我们自然的思路实现:
  在application中有两个容器:
  
  
  width="200" height="200">
  
  
  当我们点击截图时执行
  private function CaptureImage():void{
  var bd:BitmapData=getBitmapData(UIComponent(virtour_ca v));
  cpImg.source= new Bitmap(bd);
  }
  private function getBitmapData(target:UIComponent):BitmapData{
  var bd:BitmapData= new BitmapData(target.width,target.height);
  var m:Matrix=new Matrix();
  bd.draw(target,m);
  return bd;
  }
  最后使用FileReference.save()方法保存就可以。
  fileReference.save(new Bitmap(bd),"未命名.jpg");
  方法二:直接使用图片截图类ImageSnapshot实现
  这个就更简单了。
  private var jpgeEnc:JPEGEncoder=new JPEGEncoder();
  private var fileReference:FileReference=new FileReference();
  private function CaptureImage():void{
  var imgSnapshot:ImageSnapshot=ImageSnapshot.captureIma ge(virtour_cav,0,jpgeEnc);
  fileReference.save(imgSnapshot.data,"未命名.jpg");
  }
  但是这两个方法实现的前提是flash 播放器要求是10以上
  如果我们要用一些 flash player 10 上才提供的功能时,需要在项目属性里设置一下,否则会找不到此方法,比如flash保存文件或图片到本地的方法:FileReference .save()。
  flex builder3 默认要求flash player 最低要9,需要改成10.0,修改方法如下:
  右键点击项目,在项目属性中找 flex compile, 修改 html wrapper,把9。0。24改为10.0.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值