3

我使用以下代码制作了这个 3d 立方体

Matrix mMatrix = canvas.getMatrix();

canvas.save();
camera.save();
camera.rotateY(-angle);
camera.getMatrix(mMatrix);
mMatrix.preTranslate(-width, 0);
mMatrix.postTranslate(width, 0);
canvas.concat(mMatrix);
canvas.drawBitmap(bmp1, 0, 0, null);
camera.restore();
canvas.restore();

camera.rotateY(90 - angle);
camera.getMatrix(mMatrix);
mMatrix.preTranslate(-width, 0);
mMatrix.postTranslate(width2, 0);
canvas.concat(mMatrix);
canvas.drawBitmap(bmp2, width, 0, null);

这就是它给出的

在此处输入图像描述

但我需要的是

在此处输入图像描述

这是因为当相机旋转图像时,图像的某些部分会被隐藏。像这样在此处输入图像描述

但我认为这是可以做到的。

4

1 回答 1

2

实际上这很容易。图像必须沿其旋转的轴平移其宽度/高度的一半。

所以下面的改变做到了

mMatrix.preTranslate(-width, -height / 2);
mMatrix.postTranslate(width, height / 2);
于 2012-09-05T03:36:47.127 回答