Flex4中实现捕捉组件快照(截图)的功能
代码如下:
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> <s:layout> <s:BasicLayout/> </s:layout> <fx:Script> <![CDATA[ import mx.graphics.ImageSnapshot; protected function button1_clickHandler(event:MouseEvent):void { var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(text1); var imageByteArray:ByteArray = imageSnap.data as ByteArray; image1.load(imageByteArray); } ]]> </fx:Script> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <s:TextArea id="text1" x="80" y="84" width="172"/> <mx:Image id="image1" x="334" y="84" width="172" height="151"/> <s:Button x="80" y="27" label="截图" click="button1_clickHandler(event)"/> </s:Application>
在TextArea组件中输入相应的内容,然后点击“截图”按钮,通过ImageSnapshot类的功能,可以把组件的快照保存下来,通过data属性可以获取快照ByteArray类型的数据,我这里把截图放到Image组件里来显示了。这是一个辅助性的功能,说不定什么时候就可以派上用场哦。