>>Поворот происходит, но не относительно середины, а относительно точки (0,0)
перед поворотом надо сдвинуть в середину, а после вернуть обратно

Код AS3:
var bmd:BitmapData = new BitmapData(source.height, source.width);
var rotationMatrix:Matrix = new Matrix();
var dX:Number = source.width / 2;
var dY:Number = source.height / 2;
rotationMatrix.translate( -dX, -dY);
rotationMatrix.rotate(Math.PI / 2);
rotationMatrix.translate( dY, dX);
bmd.draw(source, rotationMatrix, null, null, null, true);
var image:Bitmap = new Bitmap(bmd);