水平翻转位图

发布于 2024-12-09 23:03:19 字数 204 浏览 0 评论 0原文

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

我做错了什么?

I need to flip a Bitmap horizontally. I tried setting its scaleX property to -1.0, and that modified the Bitmap in such a way that I can see only a small portion of it (flipped) on the left side, instead of the whole flipped Bitmap. Its x property remained 0. I tried the same thing using a transformation matrix, with the same results.

What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

水溶 2024-12-16 23:03:19

我发布了一个简单的函数来翻转位图数据对象。
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;
}

如果要翻转位图中的图像,可以翻转其 bitmapdata 属性,如下所示:

myBitmap.bitmapData = flipBitmapData(myBitmap.bitmapData, "x");

您可以使用“y”切换到垂直翻转。

I posted a simple function to flip a bitmapdata object.
http://plasticsturgeon.com/2010/09/flipping-a-bitmapdata-image/

Here is the relevant code.

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;
}

If you want to flip the image in a bitmap, you can flip its bitmapdata property like so:

myBitmap.bitmapData = flipBitmapData(myBitmap.bitmapData, "x");

You can switch to a vertical flip by using "y".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文