web-dev-qa-db-ja.com

Androidで画像のサムネイルを取得

画像のサムネイルが必要です。 SDカードに保存されている画像の名前しか知りません。誰かが私を助けてくれますか?.

14
nitin tyagi

これを試して。

final int THUMBSIZE = 64;

Bitmap ThumbImage = ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(imagePath), 
                    THUMBSIZE, THUMBSIZE);

これを参照 詳細。

60
Chirag

MediaStore.Images.Thumbnails 2種類のサムネイルを照会して取得できます。MINI_KIND:512 x 384サムネイルMICRO_KIND:96 x 96サムネイル。

この呼び出しを使用する利点は、サムネイルがMediaStoreによってキャッシュされることです。そのため、サムネイルが以前に作成されている場合、検索はより高速になります。

8
Dheeraj V.S.
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) {

} 
1
ridoy

HQサムネイルが好きな場合は、[RapidDecoder] [1]ライブラリを使用してください。以下のように簡単です:

import rapid.decoder.BitmapDecoder;
...
Bitmap bitmap = BitmapDecoder.from(getResources(), R.drawable.image)
                             .scale(width, height)
                             .useBuiltInDecoder(true)
                             .decode();

50%未満のスケールダウンとHQの結果が必要な場合は、組み込みデコーダを使用することを忘れないでください。

0
S.M.Mousavi