获取文件信息.bmp
Get file information .bmp
我对 .bmp 还很陌生
我想了解更多。我现在有一个 .bmp 文件,我想知道从哪里可以获得 header 信息、文件信息等。
基本上,我需要图像背后的书面代码(不是打开图像本身,而是查看那里写的是什么——位图、header 等)。
我想访问您可以在维基百科上阅读的信息 here
我不知道如何打开文件来获取这些信息...虽然我可以在文本编辑器中以某种方式阅读它...
谁能给我指出正确的方向?
这是一个很好的页面,它详细介绍了 .bmp 图像的二进制文件格式:
http://www.fileformat.info/format/bmp/egff.htm
当然,Microsoft 本身也有文档:
https://msdn.microsoft.com/en-us/library/windows/desktop/dd183374(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/dd183376(v=vs.85).aspx
要查看文件中的原始十六进制数据,请使用十六进制编辑器,例如 http://mh-nexus.de/en/hxd
你said:
Assuming I want to find in the HEX Code the size of the image. How would I get that HEX Code
因此,选择任何 BMP 文件并在十六进制编辑器中打开它。来自 specification you link to:
All versions of BMP format files begin with the following 14-byte [file] header:
[...]
Version 4.x BMP files begin with the same 14-byte header as v2.x and v3.x BMP files. The file header is also followed by a bitmap header, which is an expanded version of the v3.x bitmap header
typedef struct _Win4xBitmapHeader
{
DWORD Size; /* Size of this header in bytes */
LONG Width; /* Image width in pixels */
LONG Height; /* Image height in pixels */
[...]
} WIN4XBITMAPHEADER;
所以第一个header是14个字节。第 15-18 个字节定义第二个 header 的长度。然后是两个 long,每个 4 个字节,给你图像的宽度和高度。
所以字节 19-22 给出宽度,字节 23-26 给出高度 - 对于版本 3 或 4 位图。版本 1 和 2 每个维度分别使用一个和两个字节,所以一定要先检查位图版本(通过分析 header 大小)。
我对 .bmp 还很陌生 我想了解更多。我现在有一个 .bmp 文件,我想知道从哪里可以获得 header 信息、文件信息等。 基本上,我需要图像背后的书面代码(不是打开图像本身,而是查看那里写的是什么——位图、header 等)。 我想访问您可以在维基百科上阅读的信息 here
我不知道如何打开文件来获取这些信息...虽然我可以在文本编辑器中以某种方式阅读它...
谁能给我指出正确的方向?
这是一个很好的页面,它详细介绍了 .bmp 图像的二进制文件格式: http://www.fileformat.info/format/bmp/egff.htm
当然,Microsoft 本身也有文档: https://msdn.microsoft.com/en-us/library/windows/desktop/dd183374(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/windows/desktop/dd183376(v=vs.85).aspx
要查看文件中的原始十六进制数据,请使用十六进制编辑器,例如 http://mh-nexus.de/en/hxd
你said:
Assuming I want to find in the HEX Code the size of the image. How would I get that HEX Code
因此,选择任何 BMP 文件并在十六进制编辑器中打开它。来自 specification you link to:
All versions of BMP format files begin with the following 14-byte [file] header:
[...]
Version 4.x BMP files begin with the same 14-byte header as v2.x and v3.x BMP files. The file header is also followed by a bitmap header, which is an expanded version of the v3.x bitmap header
typedef struct _Win4xBitmapHeader { DWORD Size; /* Size of this header in bytes */ LONG Width; /* Image width in pixels */ LONG Height; /* Image height in pixels */ [...] } WIN4XBITMAPHEADER;
所以第一个header是14个字节。第 15-18 个字节定义第二个 header 的长度。然后是两个 long,每个 4 个字节,给你图像的宽度和高度。
所以字节 19-22 给出宽度,字节 23-26 给出高度 - 对于版本 3 或 4 位图。版本 1 和 2 每个维度分别使用一个和两个字节,所以一定要先检查位图版本(通过分析 header 大小)。