Я делал так... Качество норм...

Код AS3:
private function loadComplete(e:Event):void
{
var loader:Loader = e.target.loader as Loader;
loader.removeEventListener(Event.COMPLETE, loadComplete);
var bm:Bitmap = new Bitmap((loader.content as Bitmap).bitmapData,"auto",true);
if (pars.width) {
if(bm.width > pars.width){
bm.width = pars.width;
bm.scaleY = bm.scaleX;
}
}
if (pars.height) {
if(bm.height > pars.height){
bm.height = pars.height;
bm.scaleX = bm.scaleY;
}
}
var bd2:BitmapData = new BitmapData(bm.width, bm.height, true);
bd2.draw(bm, bm.transform.matrix);
bm = null;
encode(bd2);
}
private function encode(bd:BitmapData):void
{
var encoder:JPGEncoder = new JPGEncoder(Main.params.quality);
imageBytes = encoder.encode(bd);
imageResized(new Event(Event.COMPLETE));
}