在Android中获取图像缩略图

在Android中获取图像缩略图,android,image,thumbnails,Android,Image,Thumbnails,我需要一个图像的缩略图。我只知道存储在SD卡中的图像的名称。有人能帮我吗。试试这个 final int THUMBSIZE = 64; Bitmap ThumbImage = ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(imagePath), THUMBSIZE, THUMBSIZE); 有关详细信息。使用可以查询并获取两种缩略图:迷你型:512 x 384缩略图迷你型:96 x

我需要一个图像的缩略图。我只知道存储在SD卡中的图像的名称。有人能帮我吗。

试试这个

final int THUMBSIZE = 64;

Bitmap ThumbImage = ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(imagePath), 
                    THUMBSIZE, THUMBSIZE);
有关详细信息。

使用可以查询并获取两种缩略图:迷你型:512 x 384缩略图迷你型:96 x 96缩略图

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) {

} 

使用此调用的优点是缩略图由MediaStore缓存。因此,如果先前创建了缩略图,则检索速度会更快。

如果您喜欢HQ缩略图,请使用[RapidDecoder][1]库。简单如下:

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

如果你想缩小到50%以下并得到一个HQ结果,不要忘记使用内置解码器。

你想用这个缩略图做什么我需要这个缩略图,因为当我把所有图像URI直接放在GridView中时,我一直得到
java.lang.OutOfMemoryError
。什么是
imagePath
?它是存储在SD卡中的图像路径名。如果您正在为可以使用的图像使用Uri获取路径,例如imageUri.getPath()