title: BitmapData manipulation
body: <p>The simplest way to apply stretching/rotation to a bitmap seems to be something akin to the following:</p>
  
  <pre><code>bmp = //some bitmap
  var bounds:Rectangle = getBounds(bmp)
  var stretchX:Number, stretchY:Number, rotate:Number;
  //assign stretch &amp; rotate vars
  var transform:Matrix = new Matrix(stretchX * Math.cos(rotate), -stretchX * Math.sin(rotate),
                                    stretchY * Math.sin(rotate,   stretchY * Math.cos(rotate));
  bmp.bitmapData.draw(bmp, transform);
  </code></pre>
  
  <p>I've heard, though, that the draw method is inefficient compared to most of the other methods in the Bitmap and BitmapData classes. Given that my project is very sensitive to inefficiency (read: is intended for real-time operation), I would rather implement something hackish and efficient than something straightforward and inefficient. Having scoured the API, I can't seem to come up with anything... Any ideas, or am I stuck using the draw method?</p>