我使用以下代码制作了这个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);
这就是它提供的内容
但我需要的是
这是因为当相机旋转图像时,图像的某些部分会被隐藏。 像这样
但我认为可以做到这一点。
答案 0 :(得分:2)
实际上很容易。图像必须沿其旋转轴的宽度/高度的一半进行平移。
所以进行了以下更改
mMatrix.preTranslate(-width, -height / 2);
mMatrix.postTranslate(width, height / 2);