Flex中如何利用mx.graphics.ImageSnapshot的captureImage()事件获取截图的例子
By Minidxer | November 29, 2008
接下来的例子演示了Flex中如何利用mx.graphics.ImageSnapshot的captureImage()事件,获取截图。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white">
- <mx:Script>
- <![CDATA[
- import mx.core.IUIComponent;
- import mx.graphics.ImageSnapshot;
- private function takeSnapshot(source:IBitmapDrawable):void {
- var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(source);
- var imageByteArray:ByteArray = imageSnap.data as ByteArray;
- swfLoader.load(imageByteArray);
- }
- ]]>
- </mx:Script>
- <mx:Array id="arr">
- <mx:Object col1="Row 1, Col 1" col2="Row 1, Col 2" />
- <mx:Object col1="Row 2, Col 1" col2="Row 2, Col 2" />
- <mx:Object col1="Row 3, Col 1" col2="Row 3, Col 2" />
- <mx:Object col1="Row 4, Col 1" col2="Row 4, Col 2" />
- <mx:Object col1="Row 5, Col 1" col2="Row 5, Col 2" />
- <mx:Object col1="Row 6, Col 1" col2="Row 6, Col 2" />
- </mx:Array>
- <mx:ApplicationControlBar dock="true">
- <mx:Button label="Take snapshot of DataGrid"
- click="takeSnapshot(dataGrid);" />
- </mx:ApplicationControlBar>
- <mx:HBox>
- <mx:DataGrid id="dataGrid" dataProvider="{arr}" />
- <mx:SWFLoader id="swfLoader">
- <mx:filters>
- <mx:DropShadowFilter />
- </mx:filters>
- </mx:SWFLoader>
- </mx:HBox>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
Other |
No Comments » |
Tags: ByteArray, captureImage(), ImageSnapshot