【问题标题】:Bitmap file header size位图文件头大小
【发布时间】:2012-09-09 06:23:02
【问题描述】:

我是 bmp 文件编程的新手,我查看了这个网站以了解 bmp 标头。 http://www.daubnet.com/en/file-format-bmp

bmp文件的头部好像是54字节。

使用绘画,我创建了一个简单的 10x10 图像,并将其保存为 24 位。 所以根据简单的数学计算,文件大小应该是 10*10*3 + 54 = 354 字节。

但是十六进制编辑器和文件浏览器返回的大小为 374 字节。

所以我有 20 个字节的差异,我不知道为什么。

你能告诉我为什么吗?

非常感谢!!

【问题讨论】:

  • 对齐填充?使用SizeOf 而不是自己计算。 (此外,如果您提及您所询问的编程语言,它会有所帮助;它可以更容易地提供答案。)
  • 嗯,他使用的是 MSPaint,而不是编程语言 :)
  • @nneonneo:“我是 bmp 文件编程的新手”是问题的开头句。

标签: file-format bmp


【解决方案1】:

BMP 中的行被填充为 4 字节的倍数。

没有填充,每行是 3*10 = 30 字节。使用填充后,每行是 32 字节,因此图像数据大小为 320 字节。因此,文件大小为 54+320 = 374 字节。

【讨论】:

  • 您好,非常感谢您的回答。这是有道理的......但在我的程序中,我有一个 10x10 像素的矩阵,每个像素都是 RGB。所以我有额外的 20 字节的栅格数据要计算?我有点困惑...再次感谢您的帮助!
  • @user1657743:您不必在填充中添加任何特定内容;这只是没有人(除了隐写术者)会看到的垃圾字节。
猜你喜欢
  • 1970-01-01
  • 2011-06-05
  • 1970-01-01
  • 2012-09-26
  • 1970-01-01
  • 2022-01-15
  • 2020-08-15
  • 2017-08-26
  • 1970-01-01
相关资源
最近更新 更多