如何计算位图文件大小?

ass*_*0le 3 byte image bitmap bmp

  1. 如何找到 50 x 50 RGB 彩色图像的字节大小?
  2. 如果上图保存在头大小为 54 字节的 BMP 文件中,那么该 BMP 文件的总大小是多少?
  3. 如何知道BMP文件中每个字节的内容?
  4. 以及如何知道它的十六进制值?

har*_*ldK 5

  1. 假设您的意思是内存要求,则所需的最小内存量为 50 * 50 * 3 ( width * height * numComponents),或 7500 字节的 RGB。但是,填充每个扫描线可能会更快,例如填充偶数个 32 位实体,从而使实际要求更高。此外,图形卡的值最好是 ARGB 格式,在这种情况下,它应该是 50 * 50 * 4 (= 10000)。

  2. 这取决于 BMP 文件中使用的压缩,但如果没有压缩,我认为最小值为 54 + 50 * 50 * 4,或 10054 字节,因为 BMP 通常存储为每像素 32 位。请注意,BMP 文件具有不同大小的有效标题,可以存储索引(调色板)图像以及 16 位图像,因此上述内容仅适用于正常、未压缩的 32 位/像素“真彩色”BMP。

  3. 阅读规范,您应该了解它是如何工作的。要查看实际文件示例的内容,请在十六进制查看器/编辑器或其他允许您查看文件二进制内容的工具中打开它。

  4. 十六进制只是值的不同表示,与十进制或八进制相反。例如,如果字节值是255十进制,则它将是FF十六进制。