gpt4 book ai didi

c - 处理位图 header

转载 作者:行者123 更新时间:2023-11-30 17:54:53 24 4
gpt4 key购买 nike

我有两个关于 BITMAPFILEHEADER 的问题结构。

首先,如果我们制作自己的该结构版本,分配的内存将是16 字节,因为 Data Structure Alignment 。但是BITMAPFILEHEADER的那个是14字节。为什么会发生这种情况?

第二,正如您所知,位图 header 是 Little-Endianed 的。因此,当您希望正确访问该值时,需要将其转换为 Big-Endian。但是,如果您看到 this question ,您会发现接受的答案没有任何作用。你们能解释一下这怎么可能吗?

感谢您提前提供的帮助。

最佳答案

文件可以具有任何类型的对齐方式,并且位图文件的 header 恰好为 14 个字节(有关更多信息: http://en.wikipedia.org/wiki/BMP_file_format )。没有任何规则规定所有内容都必须对齐(SSE 指令除外,它要求所有内容都对齐)。对齐的数据可以更快地访问,因此建议您对齐数据,但并非必须这样做。文件格式也没有对齐其数据。

如果你想读取这些值,你需要将其转换为大端字节序,但如果你只想创建一个新的位图,你必须以与 BITMAPFILEHEADER 结构中预期相同的格式存储数据,即小尾数。

关于c - 处理位图 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14683737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com