旋转后的Android Canvas.drawBitmap(bmp,left,top,paint)

时间:2013-12-27 03:15:07

标签: android rotation android-canvas

是否有详细的文档说明canvas.drawBitmap方法中使用的left / top参数?

我认为它应该始终是相对于画布左上角的位置。例如,如果我想在左上角绘制一些东西,我只是从原点(0,0)绘制。

但是,如果画布旋转90度,我发现情况并非如此。

canvas.save();
canvas.rotate(90, canvas.getWidth()/2, canvas.getHeight()/2);
canvas.drawBitmap(bmp, 0, 0, null);
canvas.restore();

我希望位图应该从旋转画布的左上角绘制,并在我恢复画布后从右上角显示,但它会产生不同的结果。

我必须在

画画
x= (canvas.getWidth()-canvas.getHeight())/2 
y= (canvas.getHeight()-canvas.getWidth())/2

获得预期结果,为什么?

0 个答案:

没有答案