Flex 3中利用ImageSnapshot类捕获JPEG或PNG形式图片的例子

下面的例子展示了如何在Flex 3中,通过设置ImageSnapshot类中的 encoder参数和调用静态 captureImage()事件,捕获JPEG或PNG形式图片。
下面是具体的源代码:
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.     <mx:Script>
  7.         <![CDATA[
  8.             import mx.graphics.ImageSnapshot;
  9.             import mx.graphics.codec.*;
  10.             private const jpgEnc:JPEGEncoder = new JPEGEncoder();
  11.             private const pngEnc:PNGEncoder = new PNGEncoder();
  12.             private function captureImg(imgEnc:IImageEncoder):void {
  13.                 var ohSnap:ImageSnapshot;
  14.                 ohSnap = ImageSnapshot.captureImage(img, 0, imgEnc);
  15.                 textArea.text = ImageSnapshot.encodeImageAsBase64(ohSnap);
  16.             }
  17.         ]]>
  18.     </mx:Script>
  19.     <mx:ApplicationControlBar dock="true">
  20.         <mx:ToggleButtonBar id="toggleButtonBar"
  21.                 itemClick="captureImg(event.item.data);">
  22.             <mx:dataProvider>
  23.                 <mx:Array>
  24.                     <mx:Object label="Capture as JPEG" data="{jpgEnc}" />
  25.                     <mx:Object label="Capture as PNG" data="{pngEnc}" />
  26.                 </mx:Array>
  27.             </mx:dataProvider>
  28.         </mx:ToggleButtonBar>
  29.     </mx:ApplicationControlBar>
  30.     <mx:Image id="img"
  31.             source="@Embed('images/flex_logo.jpg')" />
  32.     <mx:TextArea id="textArea"
  33.             editable="false"
  34.             width="320"
  35.             height="160" />
  36. </mx:Application>

你可能感兴趣的:(Flex,职场,休闲)