gpt4 book ai didi

android - 在 SurfaceView 中像时钟指针一样在固定点旋转位图

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:24 24 4
gpt4 key购买 nike

我在 drawable 文件夹中有一张时钟指针的图像。我想像时钟指针一样在固定点旋转它。我试过下面的代码,它围绕一个固定点以圆形路径旋转指针,但不像时钟指针那样。

 Matrix matrix = new Matrix();
matrix.reset();
matrix.preTranslate(0, 0);
matrix.postRotate(angleRotation, -0, -0);
matrix.postTranslate(240, 480);

canvas.drawColor(Color.WHITE);
canvas.drawBitmap(bitmap, matrix, null);

我费了好几个小时才把它整理好。任何帮助将不胜感激。

我也尝试过以下链接寻求帮助,但没有成功。

  1. SurfaceView, draw image and reduce size, rotate image

  2. Android: How to rotate a bitmap on a center point

  3. How to rotate a bitmap in Android about images center smoothly without oscillatory movement

最佳答案

我找到了答案。设 pxpycanvas 上的任意点。 bitmap.getWidth()/2 是沿位图宽度的中间点。它可以是x坐标的任意点。对于 y 坐标,我将其设为 10angleRotation 是根据需要的角度。

所以 matrix.postTranslate(-bitmap.getWidth()/2, -10);旋转点

下面是代码。

        Matrix matrix = new Matrix();
matrix.reset();
Paint paint = new Paint();
float px = 240;
float py = 480;
matrix.postTranslate(-bitmap.getWidth()/2, -10);
matrix.postRotate(angleRotation);
matrix.postTranslate(px, py);
canvas.drawBitmap(bitmap, matrix, paint);

以上代码满足我的要求。请根据您的需要进行修改。

关于android - 在 SurfaceView 中像时钟指针一样在固定点旋转位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35406924/

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