package { import flash.display.*; import flash.events.*; import flash.net.URLRequest; import flash.geom.*; import flash.filters.*; /** * @author CYPL * 设置图片元件实例名为Image */ public class CutImageTest extends Sprite { private var _imageBitmapData : BitmapData; private var _imageHotAreaData:BitmapData; private var _imageBitmap : Bitmap; private var _mouseRectContainer:Sprite; private var _mouseRectStartX:Number; private var _mouseRectStartY:Number; private var _imageClipDraging:Boolean; private var _currentDragClip:Sprite; public function CutImageTest() {
_mouseRectContainer=new Sprite; Image.visible=false; _imageBitmapData=new BitmapData(Image.width,Image.height,true,0),_imageBitmapData.draw(Image); _imageBitmap=Bitmap(addChild(new Bitmap(_imageBitmapData))) _imageBitmap.x=30 _imageBitmap.y=30 configMouseEvent(); //----------hitTestArea------------------------ var c:ColorTransform=new ColorTransform; c.color=0xff0000; _imageHotAreaData=_imageBitmapData.clone(); _imageHotAreaData.draw(_imageHotAreaData,null,c); } private function configMouseEvent():void { stage.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler,false,0,true); stage.addEventListener(MouseEvent.MOUSE_UP,mouseUpHandler,false,0,true); } /**************************drawRect handler*******************************/ private function mouseDownHandler(evt:MouseEvent):void {//mouse_down if (_imageClipDraging) { return; } addChild(_mouseRectContainer); _mouseRectStartX=evt.stageX; _mouseRectStartY=evt.stageY; stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler); } private function mouseUpHandler(evt:MouseEvent):void {//mouse_up