加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

随手写的flex画板

发布时间:2020-12-15 03:46:18 所属栏目:百科 来源:网络整理
导读:?xml version="1.0" encoding="utf-8"? mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init(event)" minWidth="955" minHeight="600" layout="vertical" xmlns:local="*" mx:Script ![CDATA[ import mx.controls.Image; impo
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init(event)" minWidth="955" minHeight="600" layout="vertical" xmlns:local="*"> <mx:Script> <![CDATA[ import mx.controls.Image; import mx.controls.PopUpButton; import mx.events.FlexEvent; import mx.graphics.codec.JPEGEncoder; import mx.managers.PopUpManager; private ?var isMouseDown:Boolean; private var thickness:Number=1; private var color:uint=0x000000; private var alphas:Number=1; private var pixelHinting:Boolean=true; private var scaleMode:String=LineScaleMode.HORIZONTAL; private var caps:String=CapsStyle.NONE; private var joins:String=JointStyle.ROUND; private var miterLimit:Number=3; [Bindable]private var mX:Number=0; [Bindable]private var mY:Number=0; private function mouseDownHandlers(event:MouseEvent):void { if(event.buttonDown) isMouseDown=true; mX=event.localX; mY=event.localY; canva.graphics.lineStyle(thickness,color,alphas,pixelHinting,scaleMode,caps,joins,miterLimit); canva.graphics.moveTo(mX,mY);//这句如果去掉就成了一笔画 } private function mouseUpHandlers(event:MouseEvent):void { if(!event.buttonDown) isMouseDown=false; } private function mouseMoveHandlers(event:MouseEvent):void { if(isMouseDown) { mX=event.localX; mY=event.localY; canva.graphics.lineTo(mX,mY); } } private function exportToImage():void { var fileReference:FileReference=new FileReference; var bitMapData:BitmapData=new BitmapData(canva.width,canva.height); bitMapData.draw(canva); var bitMap:Bitmap=new Bitmap(bitMapData); var bitArray:ByteArray=new JPEGEncoder().encode(bitMapData); } protected function init(event:FlexEvent):void { var ptw:PaintToolWin=PopUpManager.createPopUp(this,PaintToolWin) as PaintToolWin; ptw.y=(canva.height-ptw.height)/2+canva.y; ptw.x=canva.width-ptw.width+canva.x; } ]]> </mx:Script> <mx:RadioButtonGroup id="rbg" change="{caps=rbg.selectedValue.toString()}"/> <mx:HBox width="100%" horizontalAlign="center"> <mx:Label text="x:{mX} y:{mY}"/> <mx:Label text="颜色"/> <mx:ColorPicker id="cp" change="{color=cp.selectedColor}"/> <mx:Label text="粗细"/> <mx:HSlider id="vs" change="{thickness=vs.value}" minimum="0" maximum="100"/> <mx:Label text="透明度"/> <mx:HSlider id="vs1" change="{alpha=vs1.value}" minimum="0" maximum="1"/> <mx:Label text="笔触形状"/> <mx:RadioButton groupName="rbg" label="圆形" value="{CapsStyle.ROUND}"/> <mx:RadioButton groupName="rbg" label="方形" ?value="{CapsStyle.SQUARE}"/> <mx:RadioButton groupName="rbg" label="无" ?value="{CapsStyle.NONE}"/> </mx:HBox> <mx:Canvas id="canva" width="100%" height="100%" borderColor="red" borderStyle="solid" ? borderThickness="2" mouseChildren="true" mouseDown="mouseDownHandlers(event)" ? mouseMove="mouseMoveHandlers(event)" mouseUp="mouseUpHandlers(event)"> </mx:Canvas> </mx:Application>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读