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 }