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.这样的话就获取到了图片的一个快照
相关文章
mui.init()与mui.plusReady()区别和关系
给大家分享一下在使用MUI进行APP开发的时候,mui.init()与mui.plusReady()区别以及使用上不同之处。2017-11-11
Android实现listview滑动时渐隐渐现顶部栏实例代码
android中实现listview滑动时渐隐渐现顶部栏只是在获取listview的滑动距离上可能没法直接获取,需要动态的去计算。感兴趣的朋友一起看看吧2016-10-10
XRecyclerView实现下拉刷新、滚动到底部加载更多等功能
这篇文章主要为大家详细介绍了XRecyclerView实现下拉刷新、滚动到底部加载更多等功能,以及添加header功能的RecyclerView,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-08-08
Mac OS下为Android Studio编译FFmpeg解码库的详细教程
这篇文章主要介绍了Mac OS下为Android Studio编译FFmpeg解码库的详细教程,包括NDK的配置和Android Studio的配置两个部分的内容,需要的朋友可以参考下2016-01-01


最新评论