0

所以场景是我有一个尺寸为 640 x 480 的表面视图,我在相机预览中显示它。现在我在屏幕上垂直绘制了一个东西。之后,我使用旋转画布

canvas.rotate(90, getWidth()/2, getHeight/2);

一旦我这样做了,我希望我的绘图被水平缩放和绘制。它确实水平绘制它,但它没有根据宽度和高度缩放它。

以下是图片示例说明,可帮助您更好地理解。 https://lh4.googleusercontent.com/-2wlImCt0m88/UcHzhKUSGBI/AAAAAAAAB9Y/bGNMOTu9DqM/s1440/canvas_rotation.png

有没有一种方法或算法可以让我旋转画布然后相应地缩放它?如果您需要任何进一步的解释,请告诉我。

提前致谢。

4

1 回答 1

0

好吧,所以我想出了解决方案。我们能做的是我们可以使用

canvas.scale( newX, newY, pivotX, pivotY);

/*
 * Where 
 * newX = oldX * (newWidth/oldWidth);
 * newY = oldY * (newHeight/oldHeight);
 * pivotX = same as before;
 * pivotY = same as before;
*/
于 2013-07-09T23:26:01.073 回答