您的位置:首页 > 其它

Flex画面快照截图及显示又一方式

2009-11-03 20:13 417 查看
前几天我写了一篇文章叫做“Flex画面快照截图及显示”,在里面介绍了对Flex程序的运行界面进行截图快照。今天我介绍Flex中另外一种截图方式,这种方式更为简单。其方法是使用Flex中自带的ImageSnapshot类来实现。但是这种方式仅限于Flex3以及更高版本,在Flex2种,是没有这个类的。
一.ImageSnapshot类说明
这个类位于mx.graphics包中,提供了一个非常实用的静态函数captureBitmapData函数
这个函数的第一个参数为source:IBitmapDrawable 也就是说,所有可视控件都可以作为这个函数的参数。其他参数都有默认值,如果需要的话可以进行设置。返回值是BitmapData类型的。可以直接获得作为参数传入的控件的截图。
二.ImageSnapshot的使用例子。
下面是一个ImageSnapshot类直接调用captureBitmapData函数获得画面截图的使用例子。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<!--[CDATA[
import mx.graphics.ImageSnapshot;
private function test():void
{
var bmp:BitmapData = ImageSnapshot.captureBitmapData(panel);
img.source = new Bitmap(bmp);
}
]]-->
</mx:Script>
<mx:Image id="img" x="73" y="260" width="531" height="220"/>
<mx:Button x="73" y="488" label="截图" click="test()"/>
<mx:Panel id="panel" x="73" y="34" width="456" height="218" layout="absolute">
<mx:DataGrid id="dg" x="10" y="10">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="col1"/>
<mx:DataGridColumn headerText="Column 2" dataField="col2"/>
<mx:DataGridColumn headerText="Column 3" dataField="col3"/>
</mx:columns>
</mx:DataGrid>
</mx:Panel>
</mx:Application>


运行效果图:



点击“截图”按钮进行画面捕捉,并且把捕获的图片显示到Image中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: