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