从高度和宽度值获取图像文件大小



根据这里的这个答案,可以在不将整个图像加载到内存中的情况下heightwidth读取图像。

答案中还有一句话告诉

大约 512x384 的位图。将其加载到内存中会使用 0.75MB 而不是 12MB 的完整图像(假设位图配置 的ARGB_8888)。

我的问题是如何使用heightwidth计算图像的图像文件大小(或者我必须说内存使用情况),如上面的答案所示。另外,这个ARGB_8888值是什么或如何获得它?

ARGB_8888 is a way of storing information about the pixels.

参考文档ARGB_8888每个像素存储在 4 个字节上。

要计算图像的总可能大小,例如您使用的 512x384 示例,我们得到以下内容。

512 x 384 = 196608 像素。

我们知道每个像素都存储在 4 个字节上。因此,以字节为单位的总大小将为 196608 x 4 = 786432 字节。

从这里我们去除以 1024 ,看这里,每一步我们想要的 kB、MB、GB、TB 阶梯。因此,要获得图像的 MB 大小,我们有 786432/(1024x1024) = 0.75。

希望这能回答你的问题

最新更新