Newer
Older
tuvePaint / src / tuvePaint.mxml
@reddawg reddawg on 29 Apr 2008 2 KB Added Brush Size
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	    <mx:Script>

        <![CDATA[
        import mx.rpc.events.ResultEvent;

        private var isDrawing:Boolean=false;

        private var x1:int;
        private var y1:int;
        private var x2:int;
        private var y2:int;
        
        private var bSize:Number = 1;
        
        [Bindable]
        private var brushArray:Array = new Array(1,2,3,4,5,6,7,8,9,10);
        
        private var drawColor:uint;

        private function doErase():void
        {
            canvas.graphics.clear();
        }

        private function doMouseDown():void
        {
            x1 = canvas.mouseX;
            y1 = canvas.mouseY;
            isDrawing = true;
        }

        private function doMouseMove():void
        {
            x2 = canvas.mouseX;
            y2 = canvas.mouseY;
            if (isDrawing)
            {
                canvas.graphics.lineStyle(bSize, drawColor);
                canvas.graphics.moveTo(x1, y1);
                canvas.graphics.lineTo(x2, y2);
                x1 = x2;
                y1 = y2;
            }
        }

        private function doMouseUp():void
        {
            isDrawing = false;
        }

        private function doSave():void
        {
            var bd:BitmapData = new BitmapData(canvas.width,canvas.height);
            bd.draw(canvas);

            var ba:ByteArray = PNGEnc.encode(bd);

            //ro.doUpload(ba);
        }

        private function handleResult(event:ResultEvent):void
        {
            var u:URLRequest = new URLRequest("servlet/DownloadImage?fileId=" +
                event.result.toString());
            navigateToURL(u,"_blank");
        }

        ]]>

    </mx:Script>

    <mx:RemoteObject id="ro" destination="UploadImage-ro"
        result="handleResult(event)"/>

    <mx:Panel width="100%" height="100%" headerHeight="0">

        <mx:Canvas id="canvas" width="100%" height="100%"
            horizontalScrollPolicy="off" verticalScrollPolicy="off"
            mouseDown="doMouseDown()"
            mouseMove="doMouseMove()"
            mouseUp="doMouseUp()"/>

        <mx:ControlBar>
            <mx:ColorPicker change="drawColor = event.target.selectedColor" />
            <mx:ComboBox id="brushSize" change="bSize = brushArray[brushSize.selectedIndex]" dataProvider="{brushArray}"  selectedIndex="0"/>
            <mx:Button label="Erase" click="doErase()"/>
            <mx:Button label="Save Image" click="doSave()"/>
        </mx:ControlBar>

    </mx:Panel>
</mx:Application>