2017-10-19 211 views
0

根据此回答here,可以读取图像heightwidth而不将整个图像加载到内存中。从高度和宽度值获取图像文件大小

有一句位进一步下跌的答案,告诉

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

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

回答

3
ARGB_8888 is a way of storing information about the pixels. 

参照docsARGB_8888存储每个像素上的4个字节。

要计算图像的总体可能的大小,比如你使用的512x384的例子,我们得到以下结果。

512 x 384 = 196608像素。

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

从这里开始,我们将除以1024,参见here,对于每一步我们想要去的kB,MB,GB和TB阶梯。所以为了获得图像的MB大小,我们有786432 /(1024x1024)= 0.75。

希望这回答你的问题

+0

是的到底是我在找什么,谢谢你! – codeKiller

+1

快乐。请标记为正确的答案。祝你今天愉快。 –

相关问题