如果我使用它:
mCamera.rotateY(45);
mCamera.getMatrix(mMatrix);
mMatrix.preTranslate(-pivotX, -pivotY);
mMatrix.postTranslate(pivotX + centerX, pivotY + centerY);
并做:
canvas.drawBitmap(bitmap, mMatrix, null);
然后绘制的图片将更高更纤细,矩阵将很好地应用于整个图片。现在,有没有办法计算旋转尺寸?我希望通过缩放来适应图像,现在当我旋转它时,由于父母的约束,一些顶部和底部被剪裁。谢谢!
编辑:
我要做的是旋转图像,rotateY的范围是0到90.
答案 0 :(得分:1)
好吧,您可以轻松地让矩阵映射位图的角,然后计算边界,因为映射的角将是x和y坐标的最大值/最小值。也许你可以在没有太多if
条款的情况下做到这一点:)
修改强> 看看
RectF r = new RectF(/*your bitmap's corners*/);
matrix.mapRect(r);
这样你就可以获得r
的新尺寸。
答案 1 :(得分:0)
如果你坚持45°那么毕达哥拉斯是关键