Java 如何在android中从图像路径中获取缩略图路径?
基本上我有这样的图像路径:/mnt/sdcard/Pictures/image.jpg 我需要以最快的方式从中获取缩略图的路径 我正在尝试使用MediaStore.Images.Thumbnails.queryMiniThumbnail,但无论通过什么,我都会得到空光标。 谢谢 编辑: 这是一个函数,它提供所有图像路径和缩略图路径,并将它们存储在字符串中。我需要的是一个函数,它返回特定图像路径的缩略图路径(/mnt/sdcard/Pictures/image.jpg)。谢谢Java 如何在android中从图像路径中获取缩略图路径?,java,android,Java,Android,基本上我有这样的图像路径:/mnt/sdcard/Pictures/image.jpg 我需要以最快的方式从中获取缩略图的路径 我正在尝试使用MediaStore.Images.Thumbnails.queryMiniThumbnail,但无论通过什么,我都会得到空光标。 谢谢 编辑: 这是一个函数,它提供所有图像路径和缩略图路径,并将它们存储在字符串中。我需要的是一个函数,它返回特定图像路径的缩略图路径(/mnt/sdcard/Pictures/image.jpg)。谢谢 试试看。它将帮助您将
试试看。它将帮助您将图像集的缩略图设置为ImageView
im=(ImageView)findViewById(R.id.imageView1);
byte[] imageData = null;
try
{
final int THUMBNAIL_SIZE = 64;
//InputStream is=getAssets().open("apple-android-battle.jpg");
FileInputStream fis = new FileInputStream("/sdcard/apple.jpg");
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();
im.setImageBitmap(imageBitmap);
}
catch(Exception ex) {
}
希望对您有所帮助。如果我理解正确,您的图像不在媒体数据库中。你可以用
ThumbnailUtils.extractTumbnail()
这只需要一个位图。queryMiniThumbnail将用于已插入的图像。重新发明轮子有什么用?ThumbnailsUtils可以帮你。我需要的是路径而不是图像,图像在那里,还有缩略图
Cursor Cursor=MediaStore.Images.Thumbnails.queryMiniThumbnail(ctx.getActivity().getContentResolver(),ContentUris.parseId(Uri.parse(“file://“+”/mnt/sdcard/Pictures/image.jpg”)、MediaStore.Images.Thumbnails.MINI_KIND,null)代码>预期的uri是来自媒体内容提供商的uri。您的图像可能不在媒体内容提供商中。如果是,你需要找到它的id。谢谢。你能给我一个提示,告诉我如何从给定的图像路径中找到id吗?
ThumbnailUtils.extractTumbnail()