[gallery] 显示sdcard上的图片,及它的缩略图
来源:互联网 发布:知乎分享到朋友圈 编辑:程序博客网 时间:2024/05/29 23:25
一、 图片存储在SDCARD中,用ImageView来进行显示,
用setImageUri(),但却显示不出来,
改用setImageBitmap来进行显示:
ImageView iv = (ImageView) findViewById(R.id.image_test);
Bitmap bit = BitmapFactory.decodeFile("/sdcard/dcd/images/xinwen.gif");
iv.setImageBitmap(bit);
二、 显示它的缩略图。
android真给力啊,2.2后就给我封装了成一个压缩的类------ ThumbnailUtils
主要有三个方法可以调用:
1、extractThumbnail (source, width, height):
/**
*
* 创建一个指定大小的缩略图
* @param source 源文件(Bitmap类型)
* @param width 压缩成的宽度
* @param height 压缩成的高度
*/
ThumbnailUtils.extractThumbnail(source, width, height);
2、extractThumbnail(source, width, height, options):
/**
* 创建一个指定大小居中的缩略图
*
* @param source 源文件(Bitmap类型)
* @param width 输出缩略图的宽度
* @param height 输出缩略图的高度
* @param options 如果options定义为OPTIONS_RECYCLE_INPUT,则回收
*
*/
ThumbnailUtils.extractThumbnail(source, width, height, options);
3、createVideoThumbnail(filePath, kind):
/**
* 创建一张视频的缩略图
* 如果视频已损坏或者格式不支持可能返回null
*
* @param filePath 视频文件路径 如:/sdcard/android.3gp
* @param kind kind可以为MINI_KIND或MICRO_KIND
*
*/
ThumbnailUtils.createVideoThumbnail(filePath, kind);
三、具体使用例子。
/**
* 根据指定的图像路径和大小来获取缩略图
* 此方法有两点好处:
* 1. 使用较小的内存空间,第一次获取的bitmap实际上为null,只是为了读取宽度和高度,
* 第二次读取的bitmap是根据比例压缩过的图像,第三次读取的bitmap是所要的缩略图。
* 2. 缩略图对于原图像来讲没有拉伸,这里使用了2.2版本的新工具ThumbnailUtils,使
* 用这个工具生成的图像不会被拉伸。
* @param imagePath 图像的路径
* @param width 指定输出图像的宽度
* @param height 指定输出图像的高度
* @return 生成的缩略图
*/
private Bitmap getImageThumbnail(String imagePath, int width, int height) {
Bitmap bitmap = null;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
// 获取这个图片的宽和高,注意此处的bitmap为null
bitmap = BitmapFactory.decodeFile(imagePath, options);
options.inJustDecodeBounds = false; // 设为 false
// 计算缩放比
int h = options.outHeight;
int w = options.outWidth;
int beWidth = w / width;
int beHeight = h / height;
int be = 1;
if (beWidth < beHeight) {
be = beWidth;
} else {
be = beHeight;
}
if (be <= 0) {
be = 1;
}
options.inSampleSize = be;
// 重新读入图片,读取缩放后的bitmap,注意这次要把options.inJustDecodeBounds 设为 false
bitmap = BitmapFactory.decodeFile(imagePath, options);
// 利用ThumbnailUtils来创建缩略图,这里要指定要缩放哪个Bitmap对象
bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height,
ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
return bitmap;
}
- [gallery] 显示sdcard上的图片,及它的缩略图
- 【Android】读取sdcard卡上的所有图片并且显示,读取的过程有进度条显示
- gridview 显示sdcard中图片的问题
- 【Android】读取sdcard上的图片
- 鼠标经过图片,显示图片的缩略图
- android开发之简单图片浏览器 读取sdcard图片+形成缩略图+Gallery
- android开发之简单图片浏览器 读取sdcard图片+形成缩略图+Gallery
- 获取SDCARD图片缩略图
- 获取SDCARD图片缩略图
- Gallery与ImageSwitcher的图片显示
- Gallery 显示缩略图流程
- listview显示图片缩略图的问题
- 图片服务器上缩略图的那些事儿
- 读取SDCard图片+形成缩略图
- Gallery实现缩略图图片浏览
- 获取Android手机上的图片和视频缩略图及抓图!!!
- Gallery的使用(二):显示抓拍的图片
- 检索Android SDCard的图片,并显示到imagebutton
- Jquery中的控制DOM对象
- HDU 1198 并查集
- 第七周-项目4-复数模板类
- Mysql分页过程
- [IOS 图像处理]--相机的各种处理效果DLCImagePickerController
- [gallery] 显示sdcard上的图片,及它的缩略图
- reverse integer
- 词法分析——Flex介绍(包括如何编译和运行)
- PCI 9054
- MATLAB旋转体的绘制
- mysql学习笔记
- 问题五十八:贺老师教1班和2班两个班的C++,1班同学的学号为1-41,2班同学的学号为42-84,现在每个班要抽签确定5名同学去参加学校组织的教学效果评价,请完成这个“抽签“。
- 第六周 项目三 点 类问题
- Pinterest谈实战经验:如何在两年内实现零到数百亿的月访问