18

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

4

4 に答える 4

69

これを試して。

final int THUMBSIZE = 64;

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

詳細については、これを参照してください。

于 2013-01-01T11:57:19.033 に答える
10

MINI_KIND MediaStore.Images.Thumbnails: 512 x 384 サムネイル MICRO_KIND: 96 x 96 サムネイル。

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

于 2013-01-01T13:41:23.627 に答える
2
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) {

} 
于 2013-01-01T12:02:50.863 に答える
1

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

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

50% 未満に縮小して HQ の結果を得たい場合は、組み込みのデコーダーを使用することを忘れないでください。

于 2016-08-25T11:39:24.203 に答える