我从一个堆栈溢出帖子显示图像所需的内存和图像大小等于
4 * image dimensions
我有一些 800x800 的图片,我看到它的大小大约有一百 KB,我认为这已经很小了。但根据上面的公式,显示它需要超过 2MB 的空间!
SO 帖子说,由于位图使用 ARGB 颜色,每个像素需要 4 个字节的存储空间。所以公式是4* 图像尺寸。但我发现存储该图像只需要 100KB 的空间!
计算机是不是用了不同的方法来存储图像?1 个像素还是需要 4B 来存储吗?这是怎么回事?
答案1
答案2
您的图片已压缩(例如使用jpeg
或)。如果您以未压缩格式(未压缩)png
存储图片,则磁盘上也会有该大小。tiff
zip
答案3
存储图像所需的内存可能小于显示图像所需的内存。例如,如果图像是 80x80 的绿色矩形,您可以将其存储为“80 x 80 的绿色矩形”的等价物。但要显示它,您需要 1600 个绿点,每个绿点都会占用一些空间。