1  
     8   
     9  import flash.display.BitmapData;
    10  import flash.geom.Matrix;
    11  
    12  
    15  class com.sekati.utils.BitmapUtils {
    16  
    17  	
    29  	public static function copy(src:MovieClip, target:MovieClip, deleteSource:Boolean, cacheAsBitmap:Boolean):Void {
    30  		var bdo:BitmapData = new BitmapData( src._width, src._height, true, 0 );
    31  		target.attachBitmap( bdo, target.getNextHighestDepth( ), "auto", true );
    32  		bdo.draw( src );
    33  		if (deleteSource) {
    34  			src.removeMovieClip( );
    35  		}
    36  		if (cacheAsBitmap) {
    37  			target.cacheAsBitmap = true;
    38  		}
    39  	}
    40  
    41  		
    47  	public static function getPixelData(src:Object, scale:Number):Array {
    48  		var pixels:Array = new Array( );
    49  		var bitmap:BitmapData = new BitmapData( src._width, src._height );
    50  		var matrix:Matrix = new Matrix( );
    51  		matrix.scale( scale, scale );
    52  		bitmap.draw( src, matrix );
    53  		var w:Number = bitmap.width;
    54  		var h:Number = bitmap.height;
    55  		var tmp:String;
    56  		for (var a:Number = 0; a <= w ; a++) {
    57  			for (var b:Number = 0; b <= h ; b++) {
    58  				tmp = bitmap.getPixel32( a, b ).toString( 16 );
    59  				pixels.push( tmp.substr( 1 ) );
    60  			}
    61  		}
    62  		bitmap.dispose( );
    63  		return pixels;
    64  	}
    65  
    66  	private function BitmapUtils() {
    67  	}
    68  }