`
maloveqiao
  • 浏览: 102016 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Flash AS3 保存图片到本地

    博客分类:
  • 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 100
var jpgenc:JPEGEncoder = new JPEGEncoder(80);
//encode the bitmapdata object and keep the encoded ByteArray
var imgByteArray:ByteArray = jpgenc.encode(bmpd);



编码为PNG格式:

import mx.graphics.codec.JPEGEncoder;
//create a new instance of the encoder
var pngenc:PNGEncoder = new PNGEncoder();
//encode the bitmapdata object and keep the encoded ByteArray
var imgByteArray:ByteArray = pngenc.encode(bmpd);



现在我们已经准备好了ByteArray数据,我们只需要把它保存到本地就可以了。我们可以用File和File Stream类来实现。

建立一个JPEG文件参照:

//gets a reference to a new empty jpg image file in user desktop
var fl:File = File.desktopDirectory.resolvePath(”snapshot.jpg”);



建立一个PNG文件参照:

//gets a reference to a new empty jpg image file in user desktop
var fl:File = File.desktopDirectory.resolvePath(”snapshot.png”);



现在我们可以把ByteArray用File Stream保存到文件中。

//Use a FileStream to save the bytearray as bytes to the new file
var fs:FileStream = new FileStream();
try{
//open file in write mode
fs.open(fl,FileMode.WRITE);
//write bytes from the byte array
fs.writeBytes(imgByteArray);
//close the file
fs.close();
}catch(e:Error){
trace(e.message);
}
分享到:
评论

相关推荐

    AS3摄像头拍照保存到本地

    在本文中,我们将深入探讨如何使用ActionScript 3(AS3)来实现摄像头拍照并保存到本地的功能。AS3是Adobe Flash Player和Adobe AIR应用程序的主要编程语言,它提供了丰富的功能来处理多媒体,如访问用户的摄像头。 ...

    flash把生成的图片保存到本地

    本资源用于把程序生成的位图保存到本地,保存的格式是png格式,其中包括fla文件,swc库,生成png的类,以及一段简单的特效代码,今天心情大好,分享出来大家一块用!哈哈哈... 之后还会陆续上传!

    Flash AS3 截图后生成图片到本地 (附带flex版)

    标题中提到的"Flash AS3 截图后生成图片到本地"是指利用AS3的绘图和数据处理功能来捕获屏幕内容,并将其保存为图像文件,例如JPEG或PNG。这通常涉及到以下步骤: 1. **获取舞台内容**:使用`stage`对象的`...

    flash as3涂鸦

    AS3可以将绘制的数据序列化为JSON格式,然后通过Ajax或者本地存储(如Flash的SharedObject)来保存和读取。 6. **性能优化**:由于实时绘图可能会导致性能问题,开发者可能采用了绘制到位图缓存的策略,即将涂鸦...

    flash as3 截图,拍照

    - 图片保存:可以将`BitmapData`转换为JPEG或PNG格式的字节数组,然后通过`navigateToURL()`函数上传到服务器,或者使用FileReference类保存到本地。 - 多帧截图:在动画或游戏中,可以定时连续截图,实现类似视频...

    AS3.0 上传保存图片

    4. **保存图片到本地**:如果需要将图片保存到用户的本地系统,可以使用`FileReference`的`save()`方法。首先,我们需要将图片数据转换成适合保存的格式,如JPEG或PNG,然后调用`save()`,并提供一个文件名和保存...

    flash as3头像上传支持图片和拍照asp

    在本文中,我们将深入探讨如何使用Flash AS3实现头像上传功能,同时支持图片上传和拍照上传,并在后台使用ASP进行处理。AS3(ActionScript 3)是Adobe Flash平台的核心编程语言,常用于创建交互式内容,如网页游戏和...

    flash as3 实现简单视频截图

    `flash.utils.ByteArray`类用于存储编码后的数据,然后可以使用`FileReference`类的`save()`方法将数据保存到用户的本地文件系统。 以下是实现这个功能的基本步骤: 1. 创建一个`Video`对象和一个`BitmapData`对象...

    flash-as图像合成

    在AS3中,Flash Player并不直接支持将BitmapData对象保存为PNG格式,因此需要自定义的编码器。PNGEncoder类实现了将BitmapData对象的数据编码为PNG格式的字节流,以便可以将其发送到服务器或保存到本地。 2. **...

    AS3.0在线拍照并保存图片

    在本文中,我们将深入探讨如何使用ActionScript 3.0(AS3.0)实现在线拍照并保存图片的功能。ActionScript是Adobe Flash平台的核心编程语言,用于创建交互式内容、游戏和应用程序。以下是对给定代码的详细解释和扩展...

    as3 等比切割图片,一键切割图片保存+自动命名图片

    4. **保存图片**:最后,我们需要一个函数`saveCroppedImage`来将BitmapData对象转换为JPEG或PNG格式并保存到本地。这可以通过BitmapEncoder类实现。 ```as3 function saveCroppedImage(bitmapData:BitmapData, ...

    as3拍照程序

    AS3拍照程序是一种基于Adobe Flash CS6开发的交互式应用程序,它允许用户通过网页或桌面应用进行模拟拍照体验。ActionScript 3(AS3)是Flash平台的核心编程语言,为这个程序提供了强大的功能和灵活性。 在AS3中,...

    as3迷宫游戏

    AS3(ActionScript 3)是Adobe Flash Platform中用于创建互动内容、动画和富互联网应用程序的主要编程语言。在这个“as3迷宫游戏”项目中,我们可以深入探讨AS3在游戏开发中的应用,尤其是如何构建一个迷宫游戏。...

    AS3 PNG图片转二进制

    在AS3(ActionScript 3)中,将PNG图片转换为二进制数据是一种常见的优化图像加载和显示的方法。这主要是因为二进制数据能够更有效地处理和传输,特别是对于大量图片的应用,如游戏或者多媒体项目。以下是关于这个...

    纯AS3 简单切图工具源码

    7. **事件驱动编程**:AS3是基于事件驱动的,用户操作(如点击按钮)会触发事件,相应的事件处理器函数将执行相应的任务,如加载图片或保存切割结果。 8. **性能优化**:对于大图的处理,性能优化是必要的。可能的...

    as3比较详尽的工具类

    JPGLoader.as ---------------------- 本地图片上传保存 JPGEncoder.as ---------------------- 压缩为jpg PNGEncoder.as ---------------------- 压缩为png component: --button: BasicButton.as ---------...

    AS3画板工具

    8. **保存与导出**:为了保存用户的创作,AS3画板工具需要支持将画布内容序列化,通常是JSON或XML格式。导出功能可能涉及将画布内容转换为静态图像(如PNG、JPEG)或SWF文件,以便用户分享或打印。 通过以上介绍,...

    flash actionscript3游戏开发 开心农场(偷菜) 源代码.zip

    AS3可以通过本地存储API实现数据的保存和读取。 3. 时间系统:作物的生长、玩家的行动等都需要时间驱动。AS3的Timer类可以实现定时器功能,控制游戏的进程。 4. 用户交互:玩家的点击、拖动等操作需要被正确响应。...

    as3 头像上传及裁剪功能 相当完整

    ActionScript3(AS3)是Adobe Flash Platform的主要编程语言,用于创建互动式富媒体内容,如游戏、动画以及用户界面。在给定的“as3 头像上传及裁剪功能 相当完整”的主题中,我们将深入探讨AS3如何实现这些功能。 ...

    示例(as3red5电子白板)

    3. **Flash Player或Adobe AIR**:由于AS3主要是为Flash Player或Adobe AIR开发,所以会涉及到这两个平台的相关知识,如安全策略、本地存储、网络通信等。 4. **图形绘制**:AS3提供了Graphics类用于在舞台上绘制...

Global site tag (gtag.js) - Google Analytics