android - 从位图中获取图像大小(存储大小)
问题描述
我正在从手机存储中读取图像。除其他外,我想获得该图像的大小(存储大小,而不是尺寸)。
我知道关于这个话题有很多问题,比如:
...
但是这些都没有给我正确的图像大小。
有了imageUri
,我将其转换为位图,如下所示:
Bitmap bitmap = MediaStore.Images.Media.getBitmap(activity.getContentResolver(), imageUri);
然后我尝试:
bitmap.getByteCount()
对于特定图像,我知道它是1.20MB,上面的行返回9216000的值。因为它在Bytes
,除以1024 * 1024,将返回8.78MB。
它显然与实际尺寸不符。
有没有其他人遇到过同样的麻烦?
备注:
解决方案应该只考虑应该从
Bitmap
对象中提取大小(而不是File
其他东西......)尝试使用
png
和jpg
图像
解决方案
推荐阅读
- java - 子句中的 Criteria API(过滤)
- java - 将复杂的 XML 转换为 Java 对象
- javascript - 如何将输入定位在屏幕底部?
- javascript - 使用 v-show 隐藏元素并在 Vue 中使用 keydown 事件将其渲染回来
- ml.net - ARM64 是否支持 ML.NET?
- javascript - Cordova - ios - 在地图应用程序中打开 - 未打开 - 'maps://?q='
- php - 在 utf 中获取波斯语(波斯语链接)字符
- python - .drop 和非唯一索引的 Python pandas 问题
- symfony - 未创建 KnpSnappyBundle 文件
- bootstrap-vue - Vue Bootstrap 表中的参数未传递给事件