【转】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写一 ...
随机推荐
- body-parser小解
body-parser用来解析http请求体,对不同的content-type有不同的处理方式, 首先介绍一下常见的四种Content-Type: 1.application/x-www-form-u ...
- SQL性能调优策略
1.建立索引 2.避免全表扫描 避免使用is null, is not null,这样写会放弃该字段的索引. 如果会出现这种情况,尽量在设计表的时候设置默认值 比较操作符中!= <>等避免 ...
- java-Object类中的方法
1.Object类中有哪些方法? protected Object clone():创建一个返回此对象的副本 boolean equals(Obejct obj):只是其他对象与此对象是否相等 p ...
- oracle中检索结果汉字首字母排序详解
今天写需求,要求将结果按照成本中心首字母排序,平且空放在最前面. 进入正题: 1.使用oracle自带的函数: 按照首字母排序:nlssort(xxx,'NLS_SORT=SCHINESE_PINYI ...
- java深入探究11-基础加强
1. ? extends String:String 子类;? super String:String 父类 2.反射->参数化类型表示 ParameteredType:参数化类型表示,就是获得 ...
- Oracle数据库类型总结
RACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.LOB类型.LONG RAW& RAW类型.ROWID & ...
- processing学习整理---Input(输入)
1.鼠标1D. 左右移动鼠标可移动天平. “mouseX”变量用于控制矩形的大小和颜色. void setup(){ size(640,360); noStroke(); colorMode(RGB, ...
- Flume-NG源码阅读之HBaseSink
关于HBase的sink的所有内容均在org.apache.flume.sink.hbase包下. 每个sink包括自己定制的,都extends AbstractSink implements Con ...
- numpy random 生成随机矩阵
import numpy as np np.random.rand(a, b): >>> np.random.rand(4,3) array([[ 0.06679473, 0.710 ...
- git 里面遇到的问题
第一步:建立git仓库(本地) cd到你的本地项目根目录下,执行git命令 git init 第二步:将项目的所有文件添加到仓库中 git add . 如果想添加某个特定的文件,只需把.换成特定的文件 ...