源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

android获取照片的快照 思路及实现方法

  • 时间:2021-11-09 10:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android获取照片的快照 思路及实现方法
当我们在做相册、上传相关的应用的时候需要获取图片的快照,这时候就需要获取图片的快照。 android中专门有一个BitmapFactory类可以来处理这类需求。 实现的步骤如下: 1.首先解析出图片文件(注意在这里为了节约内存将inJustDecodeBounds设为true,这样的话解析的图片的话只有图片的尺寸大小信息)
[u]复制代码[/u] 代码如下:
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options(); bmpFactoryOptions.inJustDecodeBounds = true; Bitmap bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);
2.获取图片的实际尺寸,并且算出实际大小和要显示的大小的比例
[u]复制代码[/u] 代码如下:
int heightRatio = (int) Math.ceil(bmpFactoryOptions.outHeight/ (float) DISPLAYHEIGHT); int widthRatio = (int) Math.ceil(bmpFactoryOptions.outWidth/ (float) DISPLAYWIDTH);
3.这儿是关键,为了只获取这个图片的快照需要将inSampleSize属性设置为上一步算出的比例,这样的话显示的图片宽高为 1/比例,大小为 1/比例的平方
[u]复制代码[/u] 代码如下:
if (heightRatio > 1 && widthRatio > 1) {             if (heightRatio > widthRatio) {                 bmpFactoryOptions.inSampleSize = heightRatio;             } else {                 bmpFactoryOptions.inSampleSize = widthRatio;             }         }
4.最后在重新解析一遍图片
[u]复制代码[/u] 代码如下:
bmpFactoryOptions.inJustDecodeBounds = false; bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);
5.这样的话就获取到了图片的一个快照
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部