【转】Flash AS3 保存图片到本地
核心提示:如果你想保存从视频,图表或表格中获取的图片数据到本地,可以使用BitmapData类。
原文地址:http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=2&postId=8406如果你想保存从视频,图表或表格中获取的图片数据到本地,可以使用BitmapData类。摘要:使用BitmapData类来创建一个包含了从组件中获取的图片数据的对象,使用mx.graphics.codec包提供的方法编码为JPEG或PNG格式,然后使用AIR API提供的File和FileStream类保存到本地。具体方法:首先我们我们需要得到屏幕的截图,要做到这一点,我们要使用BitmapData类。比如我们想从一个命名为myChart的线状图表上获取截图:import flash.display.BitmapData;var bmpd:BitmapData = new BitmapData(myChart.width,myChart.height);bmpd.draw(myChart);然后我们需要把bitmapdata对象编译为ByteArray对象,这样我们就可以保存为文件了。这个ByteArray对象需要被格式化,我们可以使用mx.graphics.codec包中的JPEGEncoder和PNGEncoder类来实现它。编码为JPEG格式:import mx.graphics.codec.JPEGEncoder;//create a new instance of the encoder, and set the jpeg compression level from 0 to 100var jpgenc:JPEGEncoder = new JPEGEncoder(80);//encode the bitmapdata object and keep the encoded ByteArrayvar imgByteArray:ByteArray = jpgenc.encode(bmpd);编码为PNG格式:import mx.graphics.codec.JPEGEncoder;//create a new instance of the encodervar pngenc:PNGEncoder = new PNGEncoder();//encode the bitmapdata object and keep the encoded ByteArrayvar imgByteArray:ByteArray = pngenc.encode(bmpd);现在我们已经准备好了ByteArray数据,我们只需要把它保存到本地就可以了。我们可以用File和File Stream类来实现。建立一个JPEG文件参照://gets a reference to a new empty jpg image file in user desktopvar fl:File = File.desktopDirectory.resolvePath(”snapshot.jpg”);建立一个PNG文件参照://gets a reference to a new empty jpg image file in user desktopvar fl:File = File.desktopDirectory.resolvePath(”snapshot.png”);现在我们可以把ByteArray用File Stream保存到文件中。//Use a FileStream to save the bytearray as bytes to the new filevar fs:FileStream = new FileStream();try{//open file in write modefs.open(fl,FileMode.WRITE);//write bytes from the byte arrayfs.writeBytes(imgByteArray);//close the filefs.close();}catch(e:Error){trace(e.message);}【转】Flash AS3 保存图片到本地的更多相关文章
- HTML 保存图片到本地
具体方法有两种 一种是 利用canvas的 toDataUrl 和Html5 里面的 <a>标签里面的 Download 属性 虽然 Download 的兼容性不怎么样 但是在文章后 ...
- JS/HTML 保存图片到本地:HTML <a> download 属性
JS如何保存图片到本地呢?自己百度一下吧! 这里想要说的是,可以利用 HTML 的 <a> 标签 来是实现保存图片到本地的功能,参考代码如下: <a href="http: ...
- 转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关 ...
- js+Canvas 利用js 实现浏览器保存图片到本地
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 原生js 保存图片到本地
<template> <div> <!--创建一个cavas 用来存放图片--> <canvas id="cavasimg" width= ...
- Android笔记之使用ImageView加载网络图片以及保存图片到本地并更新图库
ImageView显示网络图片 findViewById(R.id.btnLoad).setOnClickListener(new View.OnClickListener() { @Override ...
- 微信小程序点击保存图片到本地相册——踩坑
在微信小程序中要保存图片到本地相册,需要获取相册权限. 总之整个功能实现下来需要如下几个小程序的API:wx.getSetting,wx.authorize,wx.openSetting,wx.dow ...
- flash as3.0 截图保存图片
import flash.display.MovieClip; import flash.events.MouseEvent; import flash.filesystem.*; ///////// ...
- flash as3 socket安全服务网关(socket policy file server)
关键字: SecurityErrorEvent socket as3 flash有着自己的一套安全处理模式,在socket方面,我这样的菜鸟无法理解他的好处:一句话,不怀好意的人如果想用flash写一 ...
随机推荐
- JSON.parse和JSON.stringify的作用
//JSON.parse将字符串格式json转化为json对象 var str='{"name":"lingling","age":&quo ...
- async/await方法解析
欲了解await,必须先了解Promise,可参考: http://www.cnblogs.com/yanze/p/6347646.html 支持度: ES6已支持Promise,ES7也决定支持aw ...
- 2018.7.12训练赛 -G
第二道水题 前边说了很多话,但就最后两段有用. 就是给你一个序列,然后你判断一下这个序列是不是递增的,是就输出yes,否则输出no. 所以以后不管题目看起来多长.多复杂,都要读一遍. 代码就不贴了.
- apache实现http自动转为https
1.确认此服务器apache已经配置过证书可以用https访问到 2.确认/etc/apache2/ports.conf 下有 Listen 80Listen 443(此条) 3.配置虚礼主机定将域名 ...
- python练习_三级菜单
python练习_三级菜单 需求: 做一个地区查询三级菜单,输入一级能够打印下一级 在第三级个第二级输入e可以返回上一级 在任意一级输入q则退出程序 以下代码实现的功能与思路: 功能: (1)通过In ...
- 使用Properties读写属性文件
import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Properties; /*Prop ...
- 使用 Spring Boot 快速构建 Spring 框架应用
Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2002 年发布以来,Spring 框架已经成为企业应用开发领域非常流行的基础框架.有大量的企业应用基于 Spring 框架来开发.S ...
- Mirantis OpenStack 7.0: NFVI Deployment Guide — NUMA/CPU pinning
https://www.mirantis.com/blog/mirantis-openstack-7-0-nfvi-deployment-guide-numacpu-pinning/ Compute ...
- 保护SSH的三把锁
///////////////////////////////写在前面//////////////////////////////////////原帖地址:http://www.ibm.com/dev ...
- review15
不同区域的星期格式 不同国家的星期的简称或全称有很大的不同.如果想用特定地区的星期格式来表示日期中的星期,可以用format的重载方法: format(Locale locale, 格式化模式,日期列 ...