我正在尝试使用 Canvas 和矩阵围绕 X、Y 和 Z 轴旋转常规位图。我可以使用 OpenGL,但我认为实现如此简单的效果未免有些矫枉过正,因为我很确定仅使用 Canvas 、位图和矩阵就可以做到这一点。
我尝试使用相机及其 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);
最佳答案
关于java - Android 围绕其中心旋转位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12132762/