为什么图像大小和显示图像所需的内存不同?

为什么图像大小和显示图像所需的内存不同?

我从一个堆栈溢出帖子显示图像所需的内存和图像大小等于

4 * image dimensions

我有一些 800x800 的图片,我看到它的大小大约有一百 KB,我认为这已经很小了。但根据上面的公式,显示它需要超过 2MB 的空间!

SO 帖子说,由于位图使用 ARGB 颜色,每个像素需要 4 个字节的存储空间。所以公式是4* 图像尺寸。但我发现存储该图像只需要 100KB 的空间!

计算机是不是用了不同的方法来存储图像?1 个像素还是需要 4B 来存储吗?这是怎么回事?

答案1

伊凡视界可以帮助快速查看已使用的内存:(
查看内存计算)

在此处输入图片描述

宽度X高度X(每像素位数)= 加载完整图像所需的内存

干杯!

答案2

您的图片已压缩(例如使用jpeg或)。如果您以未压缩格式(未压缩)png存储图片,则磁盘上也会有该大小。tiffzip

答案3

存储图像所需的内存可能小于显示图像所需的内存。例如,如果图像是 80x80 的绿色矩形,您可以将其存储为“80 x 80 的绿色矩形”的等价物。但要显示它,您需要 1600 个绿点,每个绿点都会占用一些空间。

相关内容