Hey guys, I've been following this one a little and got to thinking about using
some methods from the BitmapData class. As it turns out, you can increase the
quality of the image in rotation somewhat, by converting it to a BitmapData
Object and then appling the rotation, this is a little cumbersome, but does
seem to have the effect of increasing the image quality. I've set up an
example comparison code here, using a jpg image at 72 dpi res, from my sever,
just as an example, try it with some of your own images as well and see what
you think, I think it shows improvement. Here's the code, just set a Stage to
600x400 and it'll do the rest:
//set Stage to 600x400
stop();
import flash.display.BitmapData;
var mcA = this.createEmptyMovieClip('mcA', 0);
var mcB = this.createEmptyMovieClip('mcB', 1);
var imgA = mcA.createEmptyMovieClip('imgA', 0);
var imgB = mcB.createEmptyMovieClip('imgB', 0);
mcA._x = 150;
mcA._y = 200;
mcB._x = 450;
mcB._y = 200;
var mcl = new MovieClipLoader();
var lstn = new Object();
mcl.addListener(lstn);
lstn.onLoadInit = function(clip) {
if(clip == mcA.imgA) {
mcA.imgA._x -= mcA.imgA._width/2;
mcA.imgA._y -= mcA.imgA._height/2;
mcA._rotation = 20;
}else if(clip == mcB.imgB){
convert();
}
}
mcl.loadClip('
http://www.beechstudios.com/fineart/amos.jpg', mcA.imgA);
mcl.loadClip('
http://www.beechstudios.com/fineart/amos.jpg', mcB.imgB);
function convert() {
var ibmp = new BitmapData(mcB.imgB._width, mcB.imgB._height, false);
mcB.attachBitmap(ibmp, 1, 'auto', true);
ibmp.draw(mcB.imgB);
mcB._x -= mcB.imgB._width/2;
mcB._y -= mcB.imgB._height/2;
mcB.imgB.removeMovieClip();
mcB._rotation = 20;
}