2010年2月11日 星期四

flash使用AS3.0水平反轉圖片

使用Matrix來實現, 假設sourceBD是原始圖片, 則newBD為反轉後的圖片

----------------------------------------------
import flash.geom.Matrix;
import flash.display.BitmapData;

var sourceBD:BitmapData = new BitmapData():

var matrix:Matrix = new Matrix(-1, Math.sin( (180/180) * Math.PI), 0, 0, 0, 0);
matrix.a = -1; //把x反向縮放1倍
matrix.b = Math.tan( (180/180) * Math.PI); //表示y軸傾斜180度
matrix.tx= sourceBD.width;
newBD= new BitmapData(BD.width, BD.height);
newBD.draw(BD,matrix);