有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

我现在使用的公式是

(宽*高*色深)/8+54

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


共 (1) 个答案

  1. # 1 楼答案

    计算bmp文件的总大小不是一件很简单的事情。您提供的公式使我相信,您正在寻找一个非常具体的bmp file type,包括:

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

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

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

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

    其中bpp是每像素比特数(颜色深度)