我一直在修改位图文件,并且得到了一些非常奇怪的结果。我想我可能不小心更改了部分元数据。哪一部分是元数据,所以我知道将其排除在我正在做的二进制操作之外?
我正在寻找一个答案,告诉我哪些字节是元数据的一部分,无论它们是在文件的开头还是结尾。元数据是指不属于像素的任何内容。
我一直在修改位图文件,并且得到了一些非常奇怪的结果。我想我可能不小心更改了部分元数据。哪一部分是元数据,所以我知道将其排除在我正在做的二进制操作之外?
我正在寻找一个答案,告诉我哪些字节是元数据的一部分,无论它们是在文件的开头还是结尾。元数据是指不属于像素的任何内容。
有两种 Windows 位图文件:
DDB 文件有两个部分:
通过以下方式检测 DDB 文件和偏移量:
DIB 文件包含三个部分:
Header/Metadata 包含三个部分
通过以下方式检测 DIB 文件和偏移量:
文件的字节 10 到 13.bmp
包含一个 4 字节整数,它是像素数据开始的偏移量。文件中该偏移之前的所有内容都是元数据,该偏移之上或之后的所有内容都是像素数据或未使用的填充。