android获取照片的快照 思路及实现方法
更新时间:2013年06月20日 10:54:11 作者:
android获取照片的快照 思路及实现方法,需要的朋友可以参考一下
当我们在做相册、上传相关的应用的时候需要获取图片的快照,这时候就需要获取图片的快照。
android中专门有一个BitmapFactory类可以来处理这类需求。
实现的步骤如下:
1.首先解析出图片文件(注意在这里为了节约内存将inJustDecodeBounds设为true,这样的话解析的图片的话只有图片的尺寸大小信息)
复制代码 代码如下:
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inJustDecodeBounds = true;
Bitmap bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);
2.获取图片的实际尺寸,并且算出实际大小和要显示的大小的比例
复制代码 代码如下:
int heightRatio = (int) Math.ceil(bmpFactoryOptions.outHeight/ (float) DISPLAYHEIGHT);
int widthRatio = (int) Math.ceil(bmpFactoryOptions.outWidth/ (float) DISPLAYWIDTH);
3.这儿是关键,为了只获取这个图片的快照需要将inSampleSize属性设置为上一步算出的比例,这样的话显示的图片宽高为 1/比例,大小为 1/比例的平方
复制代码 代码如下:
if (heightRatio > 1 && widthRatio > 1) {
if (heightRatio > widthRatio) {
bmpFactoryOptions.inSampleSize = heightRatio;
} else {
bmpFactoryOptions.inSampleSize = widthRatio;
}
}
4.最后在重新解析一遍图片
复制代码 代码如下:
bmpFactoryOptions.inJustDecodeBounds = false;
bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);
5.这样的话就获取到了图片的一个快照
相关文章
Android 启动activity的4种方式及打开其他应用的activity的坑
这篇文章主要介绍了Android 启动activity的4种方式及打开其他应用的activity的坑的相关资料,需要的朋友可以参考下2016-05-05Android打开GPS导航并获取位置信息返回null解决方案
最近在做一个 Android 项目,需要用到GPS获取位置信息,从 API 查了一下,发现获取位置信息仅需极其简单的一句即可getLastKnownLocation(LocationManager.GPS_PROVIDER)郁闷的是一直为null,于是搜集整理下,晒出来与大家分享2013-01-01Android中ListView结合CheckBox实现数据批量选择(全选、反选、全不选)
这篇文章主要介绍了Android编程中ListView结合CheckBox实现批量选择,包括实现全选、反选、全不选等操作,感兴趣的小伙伴们可以参考一下2016-01-01
最新评论