Sometimes you’re an idiot and you spend a lot of time reinventing the wheel because you misread one little line of documentation. This is one of those times where I get to be that idiot. I invented a solution for bilinear resampling in Flash Player when I didn’t need to. You can actually get the same results pretty simply using just BitmapData.draw() method with smoothing on (I had read this didn’t work when down sizing), but it requires creating a temp BitmapData object if the source you’re feeding the BitmapData.draw() method is not another BitmapData object (i.e. a DisplayObject). Here’s what that scenario would look like.
// source in this example is a DisplayObject var temp:BitmapData = new BitmapData( sourceWidth, sourceHeight ); temp.draw( source ); var output:BitmapData = new BitmapData( outputWidth, outputHeight ); var matrix:Matrix = new Matrix(); matrix.scale( outputWidth / sourceWidth, outputHeight / sourceHeight ); output.draw( temp, matrix, null, null, null, true ); temp.dispose();