Flex中如何利用mx.graphics.ImageSnapshot的captureImage()事件获取截图的例子

By Minidxer | November 29, 2008

接下来的例子演示了Flex中如何利用mx.graphics.ImageSnapshot的captureImage()事件,获取截图。

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.  
  7.     <mx:Script>
  8.         <![CDATA[
  9.             import mx.core.IUIComponent;
  10.             import mx.graphics.ImageSnapshot;
  11.  
  12.             private function takeSnapshot(source:IBitmapDrawable):void {
  13.                 var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(source);
  14.                 var imageByteArray:ByteArray = imageSnap.data as ByteArray;
  15.                 swfLoader.load(imageByteArray);
  16.             }
  17.         ]]>
  18.     </mx:Script>
  19.  
  20.     <mx:Array id="arr">
  21.         <mx:Object col1="Row 1, Col 1" col2="Row 1, Col 2" />
  22.         <mx:Object col1="Row 2, Col 1" col2="Row 2, Col 2" />
  23.         <mx:Object col1="Row 3, Col 1" col2="Row 3, Col 2" />
  24.         <mx:Object col1="Row 4, Col 1" col2="Row 4, Col 2" />
  25.         <mx:Object col1="Row 5, Col 1" col2="Row 5, Col 2" />
  26.         <mx:Object col1="Row 6, Col 1" col2="Row 6, Col 2" />
  27.     </mx:Array>
  28.  
  29.     <mx:ApplicationControlBar dock="true">
  30.         <mx:Button label="Take snapshot of DataGrid"
  31.                 click="takeSnapshot(dataGrid);" />
  32.     </mx:ApplicationControlBar>
  33.  
  34.     <mx:HBox>
  35.         <mx:DataGrid id="dataGrid" dataProvider="{arr}" />
  36.  
  37.         <mx:SWFLoader id="swfLoader">
  38.             <mx:filters>
  39.                 <mx:DropShadowFilter />
  40.             </mx:filters>
  41.         </mx:SWFLoader>
  42.     </mx:HBox>
  43.  
  44. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Other | No Comments » | Tags: , ,

Search Posts