Bitmapinfoheader Biheight - вдвое больше, чем я ожидаю
Вопрос
Я пишу приложение в C -файлах ICON Windows (ICO).
Когда я читаю в BITMAPINFOHEADER
структура для существующей записи значка, все переменные в структуре содержат ожидаемые значения, за исключением того, что biHeight
, который должен содержать высоту в пикселях изображения, всегда вдвое больше, чем она должна быть.
Так, например, если у меня есть значок 64x64, biWidth
64, но biHeight
это 128.
Это ожидаемое поведение? Это мой первый раз с BITMAPINFOHEADER
.
Я в основном работаю из Статья MSDN о BitmapinfoHeader.
Решение
Да, это нормально. Это дополнительная высота «и растровой маски» и растровой маски «XOR», поэтому для любого нормального значка он просто в 2 раза высота значка. (Эти маски больше не используются для 32-разрядных значков; они-задержание.) Просто разделите на два.