C BitMapInfo的高度是我预期的两倍
我正在用C编写一个应用程序来解析Windows图标文件(ICO) 当我在现有图标条目的C BitMapInfo的高度是我预期的两倍,c,winapi,icons,ico,C,Winapi,Icons,Ico,我正在用C编写一个应用程序来解析Windows图标文件(ICO) 当我在现有图标条目的BitMapInfo头结构中读取时,结构中的所有变量都包含预期值,除了BIHEIGH(应包含图像的像素高度)始终是其应有值的两倍之外 例如,如果我有一个64x64图标,biWidth是64,但是biHeight是128 这是预期的行为吗?这是我第一次处理BitMapInfo头文件 我主要是在操作。是的,这是正常的。它是“和”位图掩码和“异或”位图掩码的附加高度,因此对于任何普通图标,它只是图标高度的2倍。(这些
BitMapInfo头
结构中读取时,结构中的所有变量都包含预期值,除了BIHEIGH
(应包含图像的像素高度)始终是其应有值的两倍之外
例如,如果我有一个64x64图标,biWidth
是64,但是biHeight
是128
这是预期的行为吗?这是我第一次处理BitMapInfo头文件
我主要是在操作。是的,这是正常的。它是“和”位图掩码和“异或”位图掩码的附加高度,因此对于任何普通图标,它只是图标高度的2倍。(这些掩码不再用于32位图标;它们是一个保留项。)只需除以2。图标应包含有效的异或掩码,人们没有100%以32bpp的速度运行(或者也包括较低位深度的图像),请参阅,以获得此答案的官方确认。