Return to Snippet

Revision: 17596
at September 10, 2009 04:48 by superflip


Initial Code
public static function resampleBitmapData (bmp:BitmapData, ratio:Number, transparent:Boolean = true):BitmapData {
	if (ratio >= 1) {
		return (BitmapManager.resizeBitmapData(bmp, ratio, transparent));
	}
	else {
		var bmpData:BitmapData 	= bmp.clone();
		var appliedRatio:Number = 1;
		
		do {
			if (ratio < 0.5 * appliedRatio) {
				bmpData = BitmapManager.resizeBitmapData(bmpData, 0.5, transparent);
				appliedRatio = 0.5 * appliedRatio;
			}
			else {
				bmpData = BitmapManager.resizeBitmapData(bmpData, ratio / appliedRatio, transparent);
				appliedRatio = ratio;
			}
		} while (appliedRatio != ratio);
		
		return (bmpData);
	}
}

Initial URL


Initial Description


Initial Title
Bilinear Bitmap scaling

Initial Tags


Initial Language
ActionScript 3