我正在尝试使用画布和矩阵围绕 X、Y 和 Z 轴旋转常规位图。我可以使用 OpenGL,但我认为实现如此简单的效果会有点过头了,因为我很确定仅使用画布、位图和矩阵就可以做到这一点。
我尝试使用相机及其 rotateX、rotateY 和 rotateZ 方法,然后将该矩阵应用于画布,但由于某种原因,我可以让它围绕它的中心旋转位图!
我找不到改变旋转原点的方法,所以我决定平移相机,使其位于位图的中心,然后再将其翻译回来,但无论我尝试什么,位图都不会被其中心平移...
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);