gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章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获取照片的快照 思路及实现方法的文章就讲到这里了,如果你想了解更多关于android获取照片的快照 思路及实现方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com