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 に答える