gpt4 book ai didi

java - Android 中以编程方式实现位图大小 vs.亚行大小

转载 作者:行者123 更新时间:2023-12-01 15:18:41 26 4
gpt4 key购买 nike

我搜索过这个,发现对于小于12的api,通常使用的是bitmap.getrowbytes * bitmap.getheight;

但是,对于图像我获得以下信息:

mBitmap.getRowBytes() = 320
mBitmap.getHeight() = 100
mBitmap.getWidth() = 80.

因此根据上面的公式我得到32,000。

但是,当我检查文件时,我正在使用

从 adb 读取位图图像
ls -l

我知道大小是 90Kb。

我正在阅读图像如下:

        Uri chosenImageUri = data.getData();
if (chosenImageUri != null) {
try {
InputStream photoStream = getContentResolver().openInputStream(chosenImageUri);
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inSampleSize = 4;
Bitmap mBitmap = BitmapFactory.decodeStream(photoStream,null, opts);
photoStream.close();

}
}

为什么结果不同?谢谢。

最佳答案

好吧,我刚刚明白发生了什么事。我会发布这个,以防它对任何人有帮助。

原因是我使用 bitmapfactoryoptons 和 insamplesize =4。

发生的事情是

例如,inSampleSize == 4 返回图像的宽度/高度为原始图像的 1/4,像素数为 1/16。任何值 <= 1 都被视为与 1 相同。

如上所述here

关于java - Android 中以编程方式实现位图大小 vs.亚行大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11276613/

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