- 浏览: 102016 次
- 性别:
- 来自: 大连
文章分类
最新评论
核心提示:如果你想保存从视频,图表或表格中获取的图片数据到本地,可以使用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);
}
原文地址:
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 经典的代码库
2013-03-29 16:39 03D引擎 Papervision3Dhttp://b ... -
AS3开源资源整理
2013-03-29 16:38 0一个使用Stage3D APIs 实现 ... -
如何自定义VideoPlayer的全屏行为
2012-12-13 16:58 1312Flex4中增加了一个视频播放组件:VideoPlayer,相 ... -
代码改变影片剪辑亮度、色调、高级、透明度的方法
2012-12-03 08:41 867通过Color类来改变影片颜色 亮度:(设置影片明暗效果) ... -
as3自己写皮肤
2012-11-30 09:47 0<?xml version="1.0" ... -
AS3 正则表达式详解
2012-11-30 09:27 01.新建正则表达式,有两 ... -
TweenLite用法
2012-11-30 09:26 0TweenLite 是一个缓动的类 ... -
AS3位图的加载、拷贝、绘制
2012-11-30 09:26 0建Bitmap可以是使用Bitmap ... -
AS3中的反射
2012-11-30 09:25 659什么是反射 反射 (Reflection) 是指在程序在运行时 ... -
AS3文本操作
2012-11-30 09:03 1227设置文本框的边框、背景与前景色 默认状态下,文本框的边框和背景 ... -
as3日期格式化以及htmlText的安全转义类
2012-11-30 08:57 1036package org.juke{ ... -
Flash AS3.0关于TextField的过滤,HTML格式,对齐,换行等介绍
2012-11-30 08:56 1375过滤文字输入 TextField.restrict = &q ... -
AS3碎裂重组特效
2012-11-26 15:04 884碎裂指的是图片的碎裂 那我们要先做的是就是得到这张图片,在a ... -
Flash AS3.0实例---接近鼠标的图片缓动效果
2012-11-26 15:02 1179当鼠标移动到图片的一定位置时,图片会缓冲移动到鼠标位置,在现 ... -
flex air 启动本地应用程序
2012-11-26 09:23 854在air 2.0中,可以利用NativeProcess启动本地 ... -
as3打开和保存本地文件
2012-11-26 08:52 2395package { import flash.displa ... -
FLV视频类播放器全屏切换完整AS代码示例
2012-11-21 10:53 825function setFullScreen() { ... -
as3冒泡排序
2012-11-20 09:12 0<?xml version="1.0" ... -
Flex在Image组件使用蒙板
2012-11-16 17:34 0Flex在Image组件使用蒙板 1.Flex SDK3.0 ... -
Flex导入Excel文件示例
2012-11-16 17:33 01.SDK3.0 2.导入文件用FileFilter过滤。由于 ...
相关推荐
在本文中,我们将深入探讨如何使用ActionScript 3(AS3)来实现摄像头拍照并保存到本地的功能。AS3是Adobe Flash Player和Adobe AIR应用程序的主要编程语言,它提供了丰富的功能来处理多媒体,如访问用户的摄像头。 ...
本资源用于把程序生成的位图保存到本地,保存的格式是png格式,其中包括fla文件,swc库,生成png的类,以及一段简单的特效代码,今天心情大好,分享出来大家一块用!哈哈哈... 之后还会陆续上传!
标题中提到的"Flash AS3 截图后生成图片到本地"是指利用AS3的绘图和数据处理功能来捕获屏幕内容,并将其保存为图像文件,例如JPEG或PNG。这通常涉及到以下步骤: 1. **获取舞台内容**:使用`stage`对象的`...
AS3可以将绘制的数据序列化为JSON格式,然后通过Ajax或者本地存储(如Flash的SharedObject)来保存和读取。 6. **性能优化**:由于实时绘图可能会导致性能问题,开发者可能采用了绘制到位图缓存的策略,即将涂鸦...
- 图片保存:可以将`BitmapData`转换为JPEG或PNG格式的字节数组,然后通过`navigateToURL()`函数上传到服务器,或者使用FileReference类保存到本地。 - 多帧截图:在动画或游戏中,可以定时连续截图,实现类似视频...
4. **保存图片到本地**:如果需要将图片保存到用户的本地系统,可以使用`FileReference`的`save()`方法。首先,我们需要将图片数据转换成适合保存的格式,如JPEG或PNG,然后调用`save()`,并提供一个文件名和保存...
在本文中,我们将深入探讨如何使用Flash AS3实现头像上传功能,同时支持图片上传和拍照上传,并在后台使用ASP进行处理。AS3(ActionScript 3)是Adobe Flash平台的核心编程语言,常用于创建交互式内容,如网页游戏和...
`flash.utils.ByteArray`类用于存储编码后的数据,然后可以使用`FileReference`类的`save()`方法将数据保存到用户的本地文件系统。 以下是实现这个功能的基本步骤: 1. 创建一个`Video`对象和一个`BitmapData`对象...
在AS3中,Flash Player并不直接支持将BitmapData对象保存为PNG格式,因此需要自定义的编码器。PNGEncoder类实现了将BitmapData对象的数据编码为PNG格式的字节流,以便可以将其发送到服务器或保存到本地。 2. **...
在本文中,我们将深入探讨如何使用ActionScript 3.0(AS3.0)实现在线拍照并保存图片的功能。ActionScript是Adobe Flash平台的核心编程语言,用于创建交互式内容、游戏和应用程序。以下是对给定代码的详细解释和扩展...
4. **保存图片**:最后,我们需要一个函数`saveCroppedImage`来将BitmapData对象转换为JPEG或PNG格式并保存到本地。这可以通过BitmapEncoder类实现。 ```as3 function saveCroppedImage(bitmapData:BitmapData, ...
AS3拍照程序是一种基于Adobe Flash CS6开发的交互式应用程序,它允许用户通过网页或桌面应用进行模拟拍照体验。ActionScript 3(AS3)是Flash平台的核心编程语言,为这个程序提供了强大的功能和灵活性。 在AS3中,...
AS3(ActionScript 3)是Adobe Flash Platform中用于创建互动内容、动画和富互联网应用程序的主要编程语言。在这个“as3迷宫游戏”项目中,我们可以深入探讨AS3在游戏开发中的应用,尤其是如何构建一个迷宫游戏。...
在AS3(ActionScript 3)中,将PNG图片转换为二进制数据是一种常见的优化图像加载和显示的方法。这主要是因为二进制数据能够更有效地处理和传输,特别是对于大量图片的应用,如游戏或者多媒体项目。以下是关于这个...
7. **事件驱动编程**:AS3是基于事件驱动的,用户操作(如点击按钮)会触发事件,相应的事件处理器函数将执行相应的任务,如加载图片或保存切割结果。 8. **性能优化**:对于大图的处理,性能优化是必要的。可能的...
JPGLoader.as ---------------------- 本地图片上传保存 JPGEncoder.as ---------------------- 压缩为jpg PNGEncoder.as ---------------------- 压缩为png component: --button: BasicButton.as ---------...
8. **保存与导出**:为了保存用户的创作,AS3画板工具需要支持将画布内容序列化,通常是JSON或XML格式。导出功能可能涉及将画布内容转换为静态图像(如PNG、JPEG)或SWF文件,以便用户分享或打印。 通过以上介绍,...
AS3可以通过本地存储API实现数据的保存和读取。 3. 时间系统:作物的生长、玩家的行动等都需要时间驱动。AS3的Timer类可以实现定时器功能,控制游戏的进程。 4. 用户交互:玩家的点击、拖动等操作需要被正确响应。...
ActionScript3(AS3)是Adobe Flash Platform的主要编程语言,用于创建互动式富媒体内容,如游戏、动画以及用户界面。在给定的“as3 头像上传及裁剪功能 相当完整”的主题中,我们将深入探讨AS3如何实现这些功能。 ...
3. **Flash Player或Adobe AIR**:由于AS3主要是为Flash Player或Adobe AIR开发,所以会涉及到这两个平台的相关知识,如安全策略、本地存储、网络通信等。 4. **图形绘制**:AS3提供了Graphics类用于在舞台上绘制...