import flash.display.*;
import flash.geom.*;
import flash.utils.*;
var f:BitmapData = new g(-1,-1);
var j:BitmapData = new jpg(-1,-1);
var t:Number = getTimer();
var r:BitmapData = new BitmapData(150,100,false,0xff0000);
resizeBitmapData(r,f,false);
trace("end msg: ",getTimer()-t);
for(var i =0;i<5;i++){
var b:Bitmap = new Bitmap(r);
b.y = 50;
b.x = (r.width+10) * i;
addChild(b);
}
trace(r.rect);
function resizeBitmapData(result:BitmapData,source:BitmapData,cut:Boolean):void {
var s:Number,x:int,y:int;
if(cut){
s = Math.max(result.rect.width/source.rect.width,result.rect.height/source.rect.height);
x = Math.round((result.rect.width-source.rect.width*s)/2);
y = Math.round((result.rect.height-source.rect.height*s)/2);
}else{
s = Math.min(result.rect.width/source.rect.width,result.rect.height/source.rect.height);
x = Math.round((result.rect.width-source.rect.width*s)/2);
y = Math.round((result.rect.height-source.rect.height*s)/2);
}
var m:Matrix = new Matrix();
m.scale(s,s);
m.translate(x,y);
result.draw(source,m);
trace(m);
}
var c:Boolean;
bt.addEventListener("click",function(e:Event){
if(c){
r.fillRect(r.rect, 0x0000FF);
resizeBitmapData(r,f,false);
}else{
r.fillRect(r.rect, 0x0000FF);
resizeBitmapData(r,j,false);
}
c = !c;
trace("eooo");
})