我正在尝试通过其十六进制信息获取位图文件的正确宽度和高度。我已经在标题中指定了宽度和高度,但是我需要根据填充调整宽度,然后以字节为单位计算文件的大小。
我现在使用的公式是
(width * height * colorDepth)/ 8 + 54
首先,这个公式是否正确,其次,我如何调整填充的宽度?
答案 0 :(得分:2)
计算bmp文件的总大小并不是很简单。您提供的公式让我相信您正在寻找一个非常具体的bmp file type:
BI_RGB
)。这有效地提供了54个字节的标头大小。
在bmp文件中,每行像素舍入为4个字节的倍数(行被填充)。因此,要获得bmp的实际大小,您需要使用填充计算行大小,将其乘以图像高度并添加标题大小。
要使用填充(以字节为单位)计算行大小,请使用以下公式:ceiling(width * bpp / 32) * 32 / 8
。
要计算bmp的总大小(以字节为单位),您可以使用:(height * ceiling(width * bpp / 32) * 32) / 8 + 54
。
bpp
是每像素位数(颜色深度)。