水平翻转位图

rid*_*rid 3 actionscript bitmap actionscript-3

我需要Bitmap水平翻转.我尝试将其scaleX属性设置为-1.0,并且修改了Bitmap这样的方式,我只能看到它的一小部分(翻转)在左侧,而不是整个翻转Bitmap.其x财产仍然存在0.我使用转换矩阵尝试了同样的事情,结果相同.

我究竟做错了什么?

Pla*_*eon 12

我发布了一个简单的函数来翻转bitmapdata对象. http://plasticsturgeon.com/2010/09/flipping-a-bitmapdata-image/

这是相关的代码.

function flipBitmapData(original:BitmapData, axis:String = "x"):BitmapData
{
     var flipped:BitmapData = new BitmapData(original.width, original.height, true, 0);
     var matrix:Matrix
     if(axis == "x"){
          matrix = new Matrix( -1, 0, 0, 1, original.width, 0);
     } else {
          matrix = new Matrix( 1, 0, 0, -1, 0, original.height);
     }
     flipped.draw(original, matrix, null, null, null, true);
     return flipped;
}
Run Code Online (Sandbox Code Playgroud)

如果要在位图中翻转图像,可以像这样翻转其bitmapdata属性:

myBitmap.bitmapData = flipBitmapData(myBitmap.bitmapData, "x");
Run Code Online (Sandbox Code Playgroud)

您可以使用"y"切换到垂直翻转.