Frage

Ich schreibe eine Anwendung in C, um Windows -Icon -Dateien (ICO) zu analysieren.

Wenn ich in der las BITMAPINFOHEADER Struktur für einen vorhandenen Icon -Eintrag enthalten alle Variablen innerhalb der Strukturen, die erwartet werden, mit Ausnahme dessen biHeight, was die Höhe in Pixel des Bildes enthalten sollte, ist immer doppelt so hoch wie es sein sollte.

Also zum Beispiel, wenn ich ein 64x64 -Symbol habe, biWidth ist 64, aber aber biHeight ist 128.

Ist das erwartete Verhalten? Dies ist mein erstes Mal, dass ich mich damit befasst habe BITMAPINFOHEADER.

Ich bin hauptsächlich aus dem operiere MSDN -Artikel über BitmapinfoHeader.

War es hilfreich?

Lösung

Ja, das ist normal. Es ist die zusätzliche Höhe der "und" Bitmap -Maske "und der" XOR "-Bitmap -Maske. Für jedes normale Symbol ist es einfach 2x die Symbolhöhe. (Diese Masken werden nicht mehr für 32-Bit-Ikonen verwendet; sie sind ein Überbleibsel.) Teilen Sie einfach um zwei.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top