Android Canvas.scale()而不是舍入数字

时间:2013-08-29 22:22:33

标签: android android-canvas

我在画布中缩放了一些位图,但我遇到了一些问题。 我有这个图像640x360,并希望将其填充到屏幕上。 我的屏幕是1196x720px所以我必须将图像缩放1.86875 x 2.0倍。

代码是这样的:

canvas.save(Canvas.MATRIX_SAVE_FLAG);
canvas.scale((float)(1.86875), (float)(2.0),0,0);
canvas.drawBitmap(this.backgroundMap, 0, 0, null);
canvas.restore();

图像在Y轴上正确缩放但是错了,我认为X轴有100个像素。 关于如何解决这个问题的任何想法?

谢谢=)

1 个答案:

答案 0 :(得分:0)

尝试使用此方法,而不是使用scale和drawBitmap:

canvas.drawBitmap(bitmap, src, dst, paint);

您可能应该这样称呼它:

canvas.drawBitmap(this.backgroundMap, null, new Rect(0, 0, 1196, 720), null);