2013-06-19 3 views
0

그래서 카메라 미리보기에 표시 할 크기가 640x480 인 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; 
*/ 
관련 문제