Mega Code Archive

 
Categories / Flash ActionScript / Graphics
 

Detecting Areas by Color

package {     import flash.display.Bitmap;     import flash.display.BitmapData;     import flash.display.Shape;     import flash.display.Sprite;     import flash.display.Loader;     import flash.net.URLRequest;     import flash.events.MouseEvent;     import flash.events.Event;     import flash.geom.Point;     import flash.geom.Rectangle;     public class Main extends Sprite {         private var _bitmapData:BitmapData;         private var _loader:Loader = new Loader();         private var _outline:Shape;         public function Main () {             _loader.load(new URLRequest("http://www.rntsoft.com/samplefiles/image2.jpg"));             _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);             addEventListener(MouseEvent.CLICK, clickHandler);         }         private function completeHandler(event:Event):void {             var w:Number = _loader.width;             var h:Number = _loader.height;             _bitmapData = new BitmapData(w, h);             _bitmapData.draw(_loader);             var bitmap:Bitmap = new Bitmap(_bitmapData);             var container:Sprite = new Sprite();             addChild(container);             container.addChild(bitmap);             _outline = new Shape();             addChild(_outline);         }         private function clickHandler(event:MouseEvent):void {             var color:uint = _bitmapData.getPixel32(mouseX, mouseY);             var rectangle:Rectangle =  _bitmapData.getColorBoundsRect(0xFFFFFFFF, color);             _outline.graphics.clear();             _outline.graphics.lineStyle(0, 0x000000, 1);             _outline.graphics.drawRect(rectangle.x, rectangle.y, rectangle.width, rectangle.height);         }     } }