<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="800" height="560" layout="vertical" viewSourceURL="srcview/index.html">
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.graphics.codec.JPEGEncoder;
            private var file:FileReference = new FileReference();
        
            private function snapPic():void{
                if(myMessageTxt.text.length > 0){
                    var bitmapData:BitmapData = new BitmapData(pic.width, pic.height);
                     bitmapData.draw(pic,new Matrix());
                     var bitmap : Bitmap = new Bitmap(bitmapData);
                    var jpg:JPEGEncoder = new JPEGEncoder();
                    var ba:ByteArray = jpg.encode(bitmapData);
                    file.save(ba,myMessageTxt.text + '.jpg');
                } else {
                    Alert.show("Please enter your First name","Error");
                }
            }
            
            private function updateText():void{
                if(myMessageTxt.text.length > 0){
                    myMessageLbl.text = myMessageTxt.text + ' says'
                } else {
                    myMessageLbl.text = "";
                }
            }
        ]]>
    </mx:Script>
    <mx:Canvas id="pic">
        <mx:Image source="@Embed('hello.jpg')"/>
        <mx:Label y="43" fontSize="48" id="myMessageLbl"
            horizontalCenter="0" width="100%" textAlign="center"/>    
    </mx:Canvas>
    <mx:HBox horizontalCenter="0">
        <mx:Label text="First name"/>
        <mx:TextInput id="myMessageTxt" change="updateText()" />
        <mx:Button click="snapPic()" label="Save"/>        
    </mx:HBox>

</mx:Application>