1

如果我使用这个:

mCamera.rotateY(45);
mCamera.getMatrix(mMatrix);
mMatrix.preTranslate(-pivotX, -pivotY);
mMatrix.postTranslate(pivotX + centerX, pivotY + centerY);

并做:

canvas.drawBitmap(bitmap, mMatrix, null);

然后绘制的图片会更高更苗条,矩阵将很好地应用于整个图片。现在,有没有办法计算旋转后的大小?我想通过缩放来适应图像,现在当我旋转它时,由于父级的约束,一些顶部和底部被剪裁了。谢谢!

编辑:

我要做的是旋转图像,rotateY 的范围是 0 到 90。

4

2 回答 2

1

好吧,您可以轻松地让矩阵映射位图的角,然后计算边界,因为映射的角将是 x 和 y 坐标的最大/最小值。也许你可以在没有太多if条款的情况下做到这一点:)

编辑: 签出

RectF r = new RectF(/*your bitmap's corners*/);
matrix.mapRect(r);

这样你应该得到r新的尺寸。

于 2012-11-09T08:23:15.383 回答
0

如果你坚持 45°,那么毕达哥拉斯就是关键

于 2012-11-08T17:43:29.663 回答