Try enabling smoothing on the bitmap. This should make the image look a little nicer when scaled down. From your example:
... var snap:Image = new Image(); Bitmap bitmap = new Bitmap(bd); bitmap.smoothing = true; snap.source = bitmap; snap.percentHeight = 20; snap.percentWidth = 20; return (snap); }