如何计算位图文件大小?

How to calculate bitmap file size?

  1. 如何找到 50 x 50 RGB 彩色图像的字节大小?
  2. 如果上面的图像保存在头文件大小为54字节的BMP文件中,那么该BMP文件的总大小是多少?
  3. 如何知道BMP文件中每个字节的内容?
  4. 以及如何知道它的十六进制值?
  1. 假设您的意思是 in-memory 要求,则所需的 最小 内存量为 50 * 50 * 3 (width * height * numComponents) ,或 7500 字节的 RGB。但是,填充每个扫描线可能会更快,例如填充偶数个 32 位实体,从而使实际要求更高。此外,显卡最好采用 ARGB 格式的值,在这种情况下为 50 * 50 * 4 (= 10000)。

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

  3. 阅读规范,您应该了解其工作原理。要查看实际文件示例的内容,请使用十六进制 viewer/editor 或其他允许您查看文件二进制内容的工具打开它。

  4. 十六进制只是值的一种不同表示形式,与十进制或八进制相反。如果字节值是十进制的255,那么十六进制就是FF,例如