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组件里来显示了。这是一个辅助性的功能,说不定什么时候就可以派上用场哦。

posted @ 2010-12-08 23:14  魔豆  阅读(2158)  评论(0编辑  收藏  举报