0

私のゲームでは、surfaceViewがあり、その背景として解像度400x320ピクセルのビットマップを使用しています。携帯電話でゲームを実行すると、キャンバスのサイズがたとえば600 x 400であり、ロードしたビットマップが500 x 400のサイズを報告していることがわかります(正確な数値は覚えていません)。携帯電話よりも解像度が低いエミュレーターでゲームを実行すると、キャンバスのサイズは533 x 380(正確ではありません)ですが、ビットマップは500 x 400のサイズを報告します(したがって、最終的にクリップされた)。

これはどのように可能ですか?まず、bitmap.getWidth()/ getHeight()によって報告されるサイズはピクセル単位ですか?次に、ビットマップのサイズが両方の解像度の画面で同じになるのはどうしてですか?

ありがとう

4

1 に答える 1

1

はい、ピクセルサイズgetWidthを返します。getHeightビットマップは、画面の解像度に基づいてスケーリングされません。これらは、画面密度に基づいてスケーリングされます。この場合、お使いの携帯電話とエミュレータの密度は同じようです。また、ビットマップがまったくスケーリングされない場合があることにも注意してください。それらがどのように作成またはロードされるかによって異なります。

于 2012-06-15T19:34:27.400 に答える