<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="feedback('Application Initialized')"> <mx:Script> <![CDATA[ import mx.core.UIComponent; import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.utils.ObjectUtil; import mx.controls.Alert; import mx.core.UIComponent; import com.cynergysystems.graphics.BitmapUtil; import mx.managers.CursorManager; private function saveImage() : void { mx.managers.CursorManager.setBusyCursor(); feedback("Exporting Image..."); var data : ByteArray = BitmapUtil.toJPEG( getUIComponentBitmapData( UIComponent(Application.application) ), 65 ); dataManager.exportToSession(data) } private function saveImageResult( event : ResultEvent ) : void { mx.managers.CursorManager.removeBusyCursor(); feedback("saveImageResult: " + event.result.toString() ); navigateToURL( new URLRequest("components/cynergysystems/retrieveImage.cfm"), "_blank"); } private function server_fault( event : FaultEvent ):void { mx.managers.CursorManager.removeBusyCursor(); feedback("server_fault:" + "\n" + ObjectUtil.toString(event.fault)); Alert.show( ObjectUtil.toString(event.fault) ); } private function getUIComponentBitmapData( target : UIComponent ) : BitmapData { feedback("getUIComponentBitmapData on " + target.toString() ); var bd : BitmapData = new BitmapData( target.width, target.height ); var m : Matrix = new Matrix(); bd.draw( target, m ); return bd; } private function feedback( text : String ) : void { feedbackText.text = new Date().toString() + ": " + text + "\n" + feedbackText.text; } ]]> </mx:Script> <mx:RemoteObject id="dataManager" showBusyCursor="true" destination="ColdFusion" source="BitmapDataExport.components.cynergysystems.JPGExport"> <mx:method name="exportToSession" result="saveImageResult(event)" fault="server_fault(event)" /> </mx:RemoteObject> <mx:Button x="10" y="10" label="Export Image" click="saveImage()" /> <mx:TextArea id="feedbackText" top="40" left="10" right="10" bottom="10" wordWrap="false"/> </mx:Application>