2013-06-19 4 views
0

Итак, сценарий заключается в том, что у меня есть surfaceView размером 640 x 480, на котором я показываю на предварительном просмотре камеры. Теперь я рисую что-то вертикально на экране. После этого я вращающийся холст с помощьюРасширение рисунка на холсте для 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; 
*/