0

キャンバスでいくつかのビットマップをスケーリングしていますが、いくつか問題があります。この画像は 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 ピクセルだと思います。これを解決する方法について何か考えはありますか?

ありがとう=)

4

1 に答える 1

0

scale と drawBitmap を使用する代わりに、次のメソッドを使用してみてください。

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

おそらく次のように呼び出す必要があります。

canvas.drawBitmap(this.backgroundMap, null, new Rect(0, 0, 1196, 720), null);
于 2013-08-30T09:05:01.463 に答える