我正在尝试使用canvas和matrix围绕X、Y和Z轴旋转常规位图。我可以使用OpenGL,但我认为这样做太过浪费,因为我非常确定只需使用canvas、位图和matrix就能实现这样一个简单的效果。
我尝试使用相机及其rotateX、rotateY和rotateZ方法,然后将该矩阵应用于canvas,但由于某种原因我无法使它围绕位图中心旋转!
我找不到改变旋转原点的方法,所以我决定将相机平移,使其位于位图中心,然后再将其平移回去,但无论我尝试什么,位图都无法按其中心平移...
camera.save();
camera.translate(-(team.getWidth() / 2), (team.getHeight() / 2), 0f);
rotateY += 1f;
camera.rotateY(rotateY);
camera.translate((team.getWidth() / 2), -(team.getHeight() / 2), 0f);
camera.applyToCanvas(canvas);
camera.restore();
/* code that has nothing to do with this..(fading) */
canvas.drawBitmap(team, null, rect, paint);