//JPG encoding private function resizeFile( argBitmap : Bitmap ) :void { var resizeScale : Number = 1; var tempBitmap : Bitmap = argBitmap; if( 1.33 * this.getFileSizeAtKByte( this.fileRef.size ) > ( this.maxFileSize / 1024 ) ) { resizeScale = Number( ( this.maxFileSize / ( this.fileRef.size * 1.33 ) ).toFixed( 2 ) ); tempBitmap.scaleX = tempBitmap.scaleY = resizeScale; tempBitmap.smoothing = true; if( tempBitmap.width > MAX_BITMAP_DATA_SIZE || tempBitmap.height > MAX_BITMAP_DATA_SIZE ) { if( tempBitmap.width > tempBitmap.height ) { tempBitmap.width = MAX_BITMAP_DATA_SIZE; resizeScale = tempBitmap.scaleY = tempBitmap.scaleX; } else { tempBitmap.height = MAX_BITMAP_DATA_SIZE; resizeScale = tempBitmap.scaleX = tempBitmap.scaleY; } } } var m:Matrix = new Matrix(); m.scale( resizeScale , resizeScale); var bitmapData:BitmapData = new BitmapData( int( tempBitmap.width ), int( tempBitmap.height ) ); bitmapData.draw( argBitmap , m ); //jpgEncoder = new JPEGEncoderAsync(100); this.jpgEncoder.encodeAsync( bitmapData ); this.jpgEncoder.addEventListener( Event.COMPLETE , jpgEncodeComplete); } private function jpgEncodeComplete( e: Event ) : void { var resizedFile : ByteArray = jpgEncoder.ImageData; // 바이트 어레이로 변환 }
프로그래밍/ActionScript