-2

実行時にビットマップを非常に小さいサイズにスケーリングし、内部ストレージに保存する方法は? スケーリングされたビットマップを実行時にストレージからプログラムに呼び出す方法。そこにない場合は、ドローアブル フォルダーから呼び出し、スケーリングし、ストレージに書き込み、ビューにバインドします。

4

2 に答える 2

0

ビットマップをスケーリングする場合は、 Bitmap.createScaledBitmapを使用できます

任意のビットマップを 32x32 にスケーリングするには、次のようにします。

Bitmap smallBitmap = Bitmap.createScaledBitmap( fullSizeBitmap, 32,  32,  true );
于 2012-09-27T08:28:12.303 に答える
0

クラスを使用BitmapFactory.Optionsして、画像を任意のサイズにトリミングできます。

以下を使用できます。

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
options.inSampleSize = 8; // 1/8th of actual image.
BitmapFactory.decodeResource(getResources(), R.id.myimage, options);
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;
String imageType = options.outMimeType;

ここで、Bitmap を使用するときは常にそのbmp.recycle()メソッドを呼び出します。GC は Bitmap が保持するメモリをクリアできないため、ビットマップがガベージ コレクションされていない場合は OME も取得します。

于 2012-09-27T08:25:56.377 に答える