だから今、私はゲーム(アンドロイド)を作っていて、いくつか質問があります。わかりましたので、画面に 320x480 以外の画像を描画すると、画面の一部だけが塗りつぶされます。たとえば、500x500 の画像を描画すると、画像の左上部分のみが表示されます。 32x32 の場合、画面の一部のみが表示されます。これは問題ですが、鮮明な画像を取得するには、画像をピクセル単位で大きくする必要があります。そうしないと、画像がピクセル化されてしまいます。基本的に、大きな画像を設定された領域に圧縮し、画像を切り取らずに 500x500 の画像を 320x480 の領域に収める方法はありますか。
質問する
257 次
2 に答える
1
通常は、ビットマップ ファイルの縮小バージョンをロードすることをお勧めします。この例では、スケール オプションを使用してAndroid ドキュメントに記載されています。
ただし、あなたの質問から、画像ファイルの長方形の部分だけを読みたいと思います。幸いなことに、BitmapRegionDecoder
まさにそれを行うクラスがあります。
BitmapRegionDecoder brd = BitmapRegionDecoder.newInstance(<file_name>,true);
Bitmap b = brd.decodeRegion(new Rect(0,0,32,32), BitmapFactory.Options());
//-- In the Options object above, you can set scale,
//-- which will read scaled down region and do it so faster--
//-- after you no longer need above resources anywhere, remember to free them --
brd.recycle();
于 2013-02-09T05:59:42.540 に答える
0
次のサイズの画像をフォルダに入れます。
Hdpi: 480*800
Ldpi: 320*460
mdpi: 720*960
xdpi: 800*1280
于 2013-02-09T05:11:12.527 に答える