BMP generato Ma visualizzato con colori invertiti
Domanda
Ho generato bitmap.dll attraverso winddk.
aggiunto manualmente come un driver di stampa-to-file del driver della stampante selezionando.
Con questo ho creare un'immagine del mio documento utilizzando il comando di stampa da file.
Sono in grado di creare l'immagine e visualizzarlo, ma il problema è che ho invertito immagine (mirror).
cScans = pOemPDEV->bmInfoHeader.biHeight;
// Flip the biHeight member so that it denotes top-down bitmap
pOemPDEV->bmInfoHeader.biHeight = cScans * -1;
ho nessuno soluzione di questo codice? Come ottengo il problema quando ho commento (per ottenere intestazione correttamente generato) queste righe.
Soluzione
bitmap indipendente di periferica è documentata la disposti nella memoria con la linea di fondo all'inizio del buffer. Il suo un esperimento di coordinate cartesiane perpetrati dai progettisti di OS / 2 che stavano lavorando con Microsoft allo stesso tempo di Windows 3 è stato in fase di sviluppo.
Ci sono due possibili correzioni:
- Genera il buffer giù a testa.
- Molte API di Windows che prendono un BITMAPINFO trattare un valore negativo biHeight a significare un top-down DIB.