Android:从 sd 卡上的特定位置获取缩略图

Posted

技术标签:

【中文标题】Android:从 sd 卡上的特定位置获取缩略图【英文标题】:Android: getting thumbnails from specific location on sd card 【发布时间】:2011-03-03 05:50:53 【问题描述】:

AFAIK 通过MediaStore.Images.Thumbnails 访问图像的缩略图会在第一次尝试时生成缩略图,这就是我需要针对 sd 卡上的特定位置执行的操作。

问题是如何为特定文件夹下的内容生成有效的 URI?

我能找到的所有答案都只使用 MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI 作为 uri 来生成 managedQuery。结果是 Cursor 指向所有 sdcard 图像,而没有找到有关如何仅访问特定文件夹的示例。

【问题讨论】:

【参考方案1】:

也许您可以只列出目录中的文件并解析它们以获得缩略图而不使用内容提供程序。您可以使用 inSampleSize 选项获取小位图而不是完整图像Strange out of memory issue while loading an image to a Bitmap object。

【讨论】:

当尺寸变化很大时,如果不加载完整图像以了解其宽度和高度以便将其缩小到默认拇指大小(即 90x90),则很难猜测 inSampleSize 的因素 你可以使用justDecodeBound选项developer.android.com/reference/android/graphics/…。它将返回位图大小,而无需解压缩完整图像并分配内存。了解图像大小后,您可以计算每张图像所需的 inSampeSize 因子。【参考方案2】:

可能是晚了,但对某些人会有所帮助

Mihai Fonoage说...

使用类似的东西

File imagesDir = new File(Environment.getExternalStorageDirectory().toString() + "/pathToDirectory");
File[] imageList = imagesDir.listFiles();
for (File imagePath : imageList) 
bitmap = BitmapFactory.decodeStream(imagePath.toURL().openStream());

Here you have some great tutorial.

【讨论】:

以上是关于Android:从 sd 卡上的特定位置获取缩略图的主要内容,如果未能解决你的问题,请参考以下文章

Android:给定原始图像的Uri,获取SD卡上图像的缩略图

Android Dev:从存储在 SD 卡上的临时文件创建位图,设置 ImageView,然后将其存储在本地

获取存储在 sd 卡 + android 中的图像的缩略图 Uri/路径

在 Android 应用程序中解压缩 sd 卡上的压缩文件

Android获取外置SD卡读写路径

Android获取外置SD卡读写路径