0

特定のサイズのビットマップ上の特定の位置にポイントを配置したい.600 x 800サイズのビットマップを作成し、それに応じてポイントを配置すると、注2で正常に動作します.

しかし、Samsung S4 でこれをテストしたところ、ビットマップは非常に小さく見え、ポイントも特定の位置にありません。

私のビットマップが電話の特定の解像度に応じて自動的にスケーリングされ、ポイントが画面上の同じ位置に配置されるようにする方法があることを示唆するのを手伝ってください。

4

1 に答える 1

0

私はあなたを助けることができると思います。私自身も同じような問題を抱えていました。必要なことは、最初にデバイスの寸法を取得し、widthOfStandardDevice と heightOfStandardDevice に入力して、この新しい画面が古い画面よりどれだけ大きいかを調べることです。新しい画面が古い画面よりどれだけ大きいかがわかったら、 、すべてを掛けるために 2 つの乗数を作成します。ビットマップのサイズを bitmap_width と bitmap_height に設定すると言うことができます。

DisplayMetrics displaymetrics = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);

高さ = displaymetrics.heightPixels;

幅 = displaymetrics.widthPixels;

float widthMultiplier = width/widthOfStandardDevice;

float heightMultiplier = 高さ/heightOfStandardDevice;

int bitmap_width = (int)(600 * widthMultiplier);

int bitmap_height = (int)(800 * heightMultiplier);

于 2013-08-01T11:48:21.153 に答える