Domanda

Sto scrivendo un programma in C per analizzare i file di Windows icona (ICO).

Quando ho letto nella struct BITMAPINFOHEADER per una voce icona esistente, tutte le variabili all'interno della struct contengono valori che ci si aspetta, esclusi quelli biHeight, che dovrebbe contenere l'altezza in pixel dell'immagine, è sempre il doppio di quanto dovrebbe essere.

Così, per esempio se ho un icona di 64x64, biWidth è 64, ma biHeight è 128.

E 'questo comportamento previsto? Questa è la mia prima volta a che fare con BITMAPINFOHEADER.

Sono soprattutto attivo dal articolo di MSDN su BITMAPINFOHEADER .

È stato utile?

Soluzione

Sì, questo è normale. E 'l'altezza aggiunto del "AND" maschera bitmap e la maschera bitmap "XOR", quindi per qualsiasi icona normale è semplicemente 2X l'altezza dell'icona. (Quelle maschere non sono utilizzati per le icone a 32 bit più;. Che sono un residuo). Basta dividere per due

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top