java如何获得精确的位图文件大小?
我试图通过它的十六进制信息获得位图文件的正确宽度和高度。我已经在标题中指定了宽度和高度,但是由于填充,我需要调整宽度,然后以字节为单位计算文件的大小
我现在使用的公式是
(宽*高*色深)/8+54
首先,这个公式正确吗?其次,我该如何调整填充的宽度
你可以在下面搜索框中键入要查询的问题!
我试图通过它的十六进制信息获得位图文件的正确宽度和高度。我已经在标题中指定了宽度和高度,但是由于填充,我需要调整宽度,然后以字节为单位计算文件的大小
我现在使用的公式是
(宽*高*色深)/8+54
首先,这个公式正确吗?其次,我该如何调整填充的宽度
# 1 楼答案
计算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
是每像素比特数(颜色深度)