Domanda

ho selezionato una bitmap 8bpp in un CDC, e usate :: TextOut () per disegnare il testo. La qualità del carattere è ANTIALIASED_QUALITY, ma il testo esce in bianco e nero; nessun pixel e bordi frastagliati grigio.

La bitmap 8bpp è stato estratto da una bitmap 24bpp che il testo era già antialias disegnato su di esso, e che il testo è ok. (Entrambi i tipi di testo sono nella stessa bitmap.)

Naturalmente ho potuto attingere 24bpp e convertito, ma questo è più complesso e lento. (Il testo in seguito cambia, ed è ripetuto molte volte.) E 'possibile ottenere il testo antialiased direttamente in un bitmap 8bpp? Grazie!

È stato utile?

Soluzione

No, anti-aliasing non funziona con 8-BPP. Se avete bisogno di più velocemente gli aggiornamenti, in considerazione di fare il disegno con qualcosa come OpenGL invece che tramite GDI. Con OpenGL, il disegno sarà normalmente fatto interamente dal l'hardware grafico, quindi, anche a 32-BPP, il disegno di solito è più veloce di GDI facendo 8 BPP.

E 'anche interessante notare che si sarebbe probabilmente meglio con 32-BPP di 8 o 24-BPP, in ogni caso. GDI può utilizzare (alcuni) l'accelerazione hardware, ma di solito è al suo meglio con il 32-BPP.

Altri suggerimenti

No, GDI non fa antialias output in un bitmap tavolozza, e questo è esattamente ciò che un bitmap in scala di grigi è.

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