2012-10-22 136 views
1

只是一个快速的我想翻转图像垂直和水平。as3 filp位图纵向和横向

我的下面的代码只是垂直做我不对的东西?

var matrix:Matrix = new Matrix(); 
matrix.scale(1,-1); 
matrix.translate(0,bitmapData.height); 

var flipHorizontalMatrix:Matrix = new Matrix(); 
flipHorizontalMatrix.scale(-1,1); 
flipHorizontalMatrix.translate(bitmapData.width,0); 

bitmapData.draw(loaderInfo.loader, matrix); 


var image:Bitmap = new Bitmap(bitmapData); 
image.width = 1024; 
image.height = 702; 
Bitmap(image).smoothing = true; 

回答

3

为什么不尝试更简单的方法:

// Reverse the X and Y scale, flipping the image along both axis. 
image.scaleX = image.scaleY = -1; 
+0

给位图马蒂? – Bruce

+0

@ bluebill1049是的,'图像'在我的回答中引用了与您的问题相同的对象,因此位图。 – Marty

+1

真的很简单,谢谢马蒂你总是那么乐于助人! – Bruce

2

如果你想矩阵时,下面的代码工作。刚刚测试过:)

var matrix:Matrix = new Matrix(); 
matrix.scale(1,-1); 
matrix.scale(-1,1); 
matrix.translate(0,bitmapData.height); 
matrix.translate(bitmapData.width,0); 

bitmapData.draw(loaderInfo.loader, matrix); 


var image:Bitmap = new Bitmap(bitmapData); 
image.width = 1024; 
image.height = 702; 
Bitmap(image).smoothing = true;