BitmapData.floodFill()

var canvas:BitmapData = new BitmapData(400,400,false, 0xCC0000);
addChild(new Bitmap(canvas));

var s:Shape = new Shape();
s.graphics.beginFill(0x00CCCC);
s.graphics.moveTo(Math.random()*400,Math.random()*400);
for(var i:int = 0; i<10; i++){
	s.graphics.lineTo(Math.random()*400,Math.random()*400);
}
canvas.draw(s);

stage.addEventListener(MouseEvent.CLICK, onDown);
function onDown(evt:MouseEvent):void {
	canvas.floodFill(mouseX, mouseY, 0x000000);
}

floodFill() is basically the paint bucket (fill) tool in any bitmap drawing program. The above example draws an arbitrary blue polygon to a red background. Click anywhere on the resulting image to see floodFill() in action.

floodFill() takes 3 arguments… x, y and color.

Leave a Reply

Your email address will not be published. Required fields are marked *