画像のサムネイルが必要です。 SDカードに保存されている画像の名前しか知りません。誰かが私を助けてくれますか?.
これを試して。
final int THUMBSIZE = 64;
Bitmap ThumbImage = ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(imagePath),
THUMBSIZE, THUMBSIZE);
これを参照 詳細。
MediaStore.Images.Thumbnails
2種類のサムネイルを照会して取得できます。MINI_KIND:512 x 384サムネイルMICRO_KIND:96 x 96サムネイル。
この呼び出しを使用する利点は、サムネイルがMediaStoreによってキャッシュされることです。そのため、サムネイルが以前に作成されている場合、検索はより高速になります。
byte[] imageData = null;
try
{
final int THUMBNAIL_SIZE = 64;
FileInputStream fis = new FileInputStream(fileName);
Bitmap imageBitmap = BitmapFactory.decodeStream(fis);
Float width = new Float(imageBitmap.getWidth());
Float height = new Float(imageBitmap.getHeight());
Float ratio = width/height;
imageBitmap = Bitmap.createScaledBitmap(imageBitmap, (int)(THUMBNAIL_SIZE * ratio), THUMBNAIL_SIZE, false);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
imageData = baos.toByteArray();
}
catch(Exception ex) {
}
HQサムネイルが好きな場合は、[RapidDecoder] [1]ライブラリを使用してください。以下のように簡単です:
import rapid.decoder.BitmapDecoder;
...
Bitmap bitmap = BitmapDecoder.from(getResources(), R.drawable.image)
.scale(width, height)
.useBuiltInDecoder(true)
.decode();
50%未満のスケールダウンとHQの結果が必要な場合は、組み込みデコーダを使用することを忘れないでください。