我正在编写C中的应用程序以解析Windows图标文件(ICO)。

当我阅读 BITMAPINFOHEADER 对于现有图标条目的结构,结构内的所有变量都包含预期的值,除了 biHeight, ,它应该包含图像像素的高度始终是应有的两倍。

因此,例如,如果我有64x64图标, biWidth 是64,但是 biHeight 是128。

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

我主要是从 MSDN关于Bitmapinfoheader的文章.

有帮助吗?

解决方案

是的,这是正常的。它是“和位图蒙版”和“ XOR”位图掩码的附加高度,因此对于任何普通图标,它只是图标高度的2倍。 (这些面具不再用于32位图标;它们是保留。)只除以两个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top