如何获得精确的位图文件大小?

时间:2014-10-08 01:22:17

标签: java bitmap

我正在尝试通过其十六进制信息获取位图文件的正确宽度和高度。我已经在标题中指定了宽度和高度,但是我需要根据填充调整宽度,然后以字节为单位计算文件的大小。

我现在使用的公式是

(width * height * colorDepth)/ 8 + 54

首先,这个公式是否正确,其次,我如何调整填充的宽度?

1 个答案:

答案 0 :(得分:2)

计算bmp文件的总大小并不是很简单。您提供的公式让我相信您正在寻找一个非常具体的bmp file type

这有效地提供了54个字节的标头大小。

在bmp文件中,每行像素舍入为4个字节的倍数(行被填充)。因此,要获得bmp的实际大小,您需要使用填充计算行大小,将其乘以图像高度并添加标题大小。

要使用填充(以字节为单位)计算行大小,请使用以下公式:ceiling(width * bpp / 32) * 32 / 8

要计算bmp的总大小(以字节为单位),您可以使用:(height * ceiling(width * bpp / 32) * 32) / 8 + 54

bpp是每像素位数(颜色深度)。