ビットマップのサイズを変更する最良の方法は何ですか?
使用する
options.inSampleSize = 2;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.mandy_moore, options);
また
Bitmap resizedbitmap = Bitmap.createScaledBitmap(bitmap, 200, 200, true);
ビットマップのサイズを変更する最良の方法は何ですか?
使用する
options.inSampleSize = 2;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.mandy_moore, options);
また
Bitmap resizedbitmap = Bitmap.createScaledBitmap(bitmap, 200, 200, true);
これを使用して、元の画像と同じアスペクト比を維持するサンプル画像を作成します。これはサイズを変更するための最良の方法です。
options.inSampleSize = 2;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.mandy_moore, options);
Bitmap resizedbitmap = Bitmap.createScaledBitmap(bitmap, 200, 200, true);
これにより、提供されたwとhでビットマップがスケーリングされます。これにより、ビットマップが歪む可能性があります。
必要に応じてご使用ください。
ビットマップのサイズを変更する最良の方法は何ですか?
必要な柔軟性によって異なります。
options.inSampleSize = N;
これは、元の画像のN分の1の画像が得られることを意味します。基本的に、デコーダーはNピクセルごとに1ピクセルを読み取ります。
ビットマップに特定のサイズは必要ないが、メモリの使用量を減らすためにサイズを小さくする必要がある場合は、このオプションを使用します。これは、大きな画像を読む場合に特に便利です。
Bitmap.createScaledBitmap
一方、より詳細な制御が可能です。ビットマップの最終的な寸法を正確に示すことができます...
最良の方法は、両方の方法を組み合わせて使用することです。
inSampleSize
ます(デコードされた画像が必要な最終サイズよりも大きいように)Bitmap.createScaledBitmap
結果のサイズを正確に制御するために使用しますcreateScaledBitmapメソッドは低品質の画像を生成します
この投稿から提案を取りますビットマップの画質