Android围绕其中心旋转位图

时间:2012-08-26 18:25:41

标签: java android 3d android-canvas

我正在尝试使用画布和矩阵围绕X,Y和Z轴旋转常规位图。我可以使用OpenGL,但我认为实现这样一个简单的效果是不合适的,因为我很确定只使用canvas,bitmap和matrix就可以了。

我尝试使用相机及其rotateX,rotateY和rotateZ方法然后将该矩阵应用于画布但由于某种原因我可以让它围绕它旋转位图中心!

我无法找到更改旋转原点的方法,因此我决定将相机转换为位图的中心,然后将其转换回来,但无论我尝试使用的位图都不会被其翻译中心... image

            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);

1 个答案:

答案 0 :(得分:2)

Rotate3DAnimation就是您的最佳选择。这是class

以下是教程: 3D翻转Tutorial