Package { Import Flash.display.Bitmap; Import Flash.display.BitmapData; Import Flash.display.BitmapDataChannel; Import Flash.display.Shape; Import Flash.display.Sprite; Import flash.display.StageAlign; Import Flash.display.StageScaleMode; Import flash.events.Event; Import flash.events.MouseEvent; Import Flash.filters.BlurFilter; Import Flash.geom.Point; Import Flash.geom.Rectangle;
/** * ... * @author Lizhi */ public class Main extends Sprite { private Var Image:bitmap; private Var Sb:bitmapdata; private Var Bmd:bitmapdata; private Var Bmdclone:bitmapdata;
Public Function Main (): void { [Embed (Source = "460.jpg")]var C:class; BMD = (new C as Bitmap). BitmapData;
Image = new Bitmap (); AddChild (image); var s:shape = new Shape; S.graphics.beginfill (0); S.graphics.drawcircle (50, 50, 30); S.filters=[new Blurfilter (15,15,3)] SB = new BitmapData (+, True, 0); Sb.draw (s);
Stage.addeventlistener (Mouseevent.mouse_move, Stage_mousemove); Stage.align = Stagealign.top_left; Stage.scalemode = Stagescalemode.no_scale; }
Private Function Stage_mousemove (e:mouseevent): void {
Bmdclone = new BitmapData (Bmd.width, Bmd.height, True, 0); Bmdclone.setvector (New Rectangle (mousex-50,mousey-50,100,100), Bmd.getvector (New Rectangle (mousex-50,mousey-50,10 0,100)); Bmdclone.copychannel (SB, Sb.rect, New Point (mouseX-50, mouseY-50), Bitmapdatachannel.alpha, Bitmapdatachannel.alpha) ; Image.bitmapdata = Bmdclone; E.updateafterevent ();
}
}
} |