BITMAPINFOHEADER biHeight是我期望的两倍

时间:2011-04-28 02:17:05

标签: c winapi icons ico

我正在用C编写一个应用程序来解析Windows图标文件(ICO)。

当我在BITMAPINFOHEADER结构中读取现有图标条目时,结构中的所有变量都包含预期的值,但biHeight除外,它应包含像素的高度(以像素为单位)。图像,总是两倍。

例如,如果我有64x64图标,biWidth为64,但biHeight为128。

这是预期的行为吗?这是我第一次处理BITMAPINFOHEADER

我主要是从MSDN article on BITMAPINFOHEADER开始运作。

1 个答案:

答案 0 :(得分:8)

是的,这很正常。它是“AND”位图蒙版和“XOR”位图蒙版的增加高度,因此对于任何普通图标,它只是图标高度的2倍。 (这些掩码不再用于32位图标;它们是一种保留。)只差两次。