2013-06-19 43 views
0

所以這個場景是我有一個640×480大小的surfaceView我在相機預覽顯示。現在我在屏幕上垂直畫一些東西。之後,我正在旋轉畫布使用擴大在Android上的畫布上的繪圖

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

一旦我這樣做,我期待我的繪圖水平縮放和繪製。它確實水平繪製,但不是根據寬度和高度來縮放它。

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

有沒有一種方法或算法,我可以旋轉畫布,然後相應地縮放它? 讓我知道你是否需要任何進一步的解釋。

在此先感謝。

回答

0

那麼我想出瞭解決辦法。我們可以做的是我們可以使用

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

/* 
* Where 
* newX = oldX * (newWidth/oldWidth); 
* newY = oldY * (newHeight/oldHeight); 
* pivotX = same as before; 
* pivotY = same as before; 
*/