package { /** * @author nicoptere */ import flash.display.*; public class Skeletize { static public function skeletize( bd:BitmapData, passes:int = -1 ):void { var kernels:Array = new Array( [ 0,0,0,2,1,2,1,1,1 ], [ 0,0,0,2,1,2,1,1,1 ], [ 2,0,0,1,1,0,2,1,2 ], [ 1,2,0,1,1,0,1,2,0 ], [ 2,1,2,1,1,0,2,0,0 ], [ 1,1,1,2,1,2,0,0,0 ], [ 2,1,2,0,1,1,0,0,2 ], [ 0,2,1,0,1,1,0,2,1 ], [ 0,0,2,0,1,1,2,1,2 ] ); var i:int; if( passes == -1 ) { for ( i = 0; i < kernels.length; i++ ) { Thinning.thin( bd, kernels[ i ] ); } } else { while( passes-- ) { for ( i = 0; i < kernels.length; i++ ) { Thinning.thin( bd, kernels[ i ] ); } } } } } }