Question

J'écris une application en C pour analyser les fichiers d'icône Windows (ICO).

Quand je lis dans la struct BITMAPINFOHEADER pour une entrée d'icône existante, toutes les variables du struct contiennent des valeurs qui devraient, sauf que biHeight, qui doit contenir la hauteur en pixels de l'image, est toujours deux fois ce qu'il faut être.

Ainsi, par exemple si j'ai une icône 64x64, biWidth est 64, mais biHeight est 128.

Est-ce comportement attendu? Ceci est ma première fois affaire à BITMAPINFOHEADER.

Je suis principalement de l'exploitation article MSDN sur BITMAPINFOHEADER.

Était-ce utile?

La solution

Oui, ce qui est normal. Il est la hauteur ajoutée du masque bitmap « ET » et le masque bitmap « XOR », donc pour une icône normale, il est tout simplement 2 fois la hauteur de l'icône. (Ces masques ne sont pas utilisés pour les icônes 32 bits plus;. Ils sont les durées d'efficacité). Il suffit de diviser par deux

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top