gpt4 book ai didi

android - 使用位图时如何使图像绕固定点旋转?

转载 作者:太空狗 更新时间:2023-10-29 15:24:33 25 4
gpt4 key购买 nike

我试图在固定点旋转图像,但图像在其左上角位置旋转。我试过 rotateAnimation 并且它工作正常,但问题是当我再次旋转我的图像时它开始从原始位置旋转。

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.arw2);
int w = bmp.getWidth();
int h = bmp.getHeight();
float px = 160,py = 215;
Matrix mtx = new Matrix();
mtx.setRotate(rAngle, px, py);
Bitmap rotatedBMP = Bitmap.createBitmap(bmp, 0, 0, w, h, mtx, true);
BitmapDrawable bmd = new BitmapDrawable(rotatedBMP);
myImageView.setImageDrawable(bmd);

我做错了什么?

最佳答案

如果我对您的问题的理解正确,您希望能够将图像旋转一次,然后从停止的地方旋转第二次。

可以将图像旋转一次 30 度,然后再次旋转该图像 30 度(总共 60 度),但这会导致质量下降和中心点不正确。

更好的解决方案是简单地更改您每次使用的 rAngle 的值,并始终根据原始未旋转的源图像创建旋转的图像。因此,不是每次旋转(例如)30 度,而是旋转 30 度、60 度或 90 度等。

如果您希望每次单击按钮时图像旋转 30 度,您可以将单击次数存储在变量中,例如 buttonClicks,然后设置 rAngle = buttonClicks * 30 并执行旋转。

关于android - 使用位图时如何使图像绕固定点旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3099877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com