好的,我有一个接受变量的方法:一个图像,int x,int y,float angle。
我正在使用画布,并且正在使用 aMatrix transform = new Matrix();
在其中心旋转图像。但是,我希望在 和 的坐标处绘制x
图像y
。出于某种原因,我使用的所有不同方法都没有奏效。有时它会在 0,0 处绘制它,或者它甚至不会出现在屏幕上。
这是我的伪代码:
//pseudo-code: img_width, img_height
public void drawImage(Bitmap img, int x, int y, float angle)
{
transform.setTranslate(x, y);
transform.setRotate(angle, img_width/2, img_height/2);
canvas.drawBitmap(img, transform, null);
}
我已经让图像旋转,但我希望在指定的坐标处绘制图像:x,y。
我已经尝试交换所有变量 used transform.preRotate
,并且基本上花了 1 个小时试图弄清楚为什么没有任何效果。我有很多其他图像被绘制到画布上,它们出现在它们应该出现的位置,但是当我想旋转时,它不会在指定的坐标处绘制。
我已经阅读了大约 5 个与此相关的 SO 问题和答案,但没有一个能满足我的需求。
我真的很需要一个答案和代码,谢谢。