Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import flash.geom.Rectangle;
- import flash.geom.Point;
- var bmd:BitmapData;
- var bmd2:BitmapData;
- var bm:Bitmap;
- var loader:Loader=new Loader();
- var W:int;
- var H:int;
- var outerColor:uint;
- var innerColor:uint;
- loader.load(new URLRequest("shape.jpg"));
- loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadComplete);
- addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
- function loadComplete(e:Event)
- {
- W = e.target.content.width;
- H = e.target.content.height;
- bmd=new BitmapData(W,H);
- bm=new Bitmap(bmd);
- mcHolder.addChild(bm);
- bmd.draw(e.target.content);
- outerColor = bmd.getPixel(10,10);
- innerColor = bmd.getPixel(W/2,H/2);
- bmd2 = bmd.clone();
- }
- function mouseMoveHandler(event:MouseEvent):void
- {
- var outerAlpha:uint = 0xff * mouseY / height;
- var innerAlpha:uint = 0xff - outerAlpha;
- outerAlpha <<= 24;
- innerAlpha <<= 24;
- var replaceOuterColor:uint = (outerColor & 0x00ffffff) | outerAlpha;
- var replaceInnerColor:uint = (innerColor & 0x00ffffff) | innerAlpha;
- var rect:Rectangle = new Rectangle(0,0,W,H);
- var point:Point = new Point(0,0);
- // Just comparing blue component : this will depend on image colors
- var compareMask:uint = 0x000000ff;
- bmd.threshold(bmd2, rect, point, "<", 0x80, replaceInnerColor, compareMask);
- bmd.threshold(bmd2, rect, point, ">", 0x80, replaceOuterColor, compareMask);
- }
Add Comment
Please, Sign In to add comment