Frage

Ich habe eine 8bpp Bitmap in eine CDC ausgewählt und verwendet :: TextOut () Text zu zeichnen. Die Schriftqualität ist ANTIALIASED_QUALITY, aber der Text kommt in Schwarz-Weiß aus; keine grauen Pixel & gezackte Kanten.

Die 8bpp Bitmap wurde aus einem 24 bpp-Bitmap extrahiert, dass bereits antialiased Text darauf gezeichnet hatte, und dass der Text ist in Ordnung. (Beiden Texttypen sind in der gleichen Bitmap).

Natürlich konnte ich auf 24 bpp ziehen und zu konvertieren, aber das ist viel komplexer und langsam. (Der spätere Text ändert, und wird viele Male wiederholt.) Ist es möglich, Anti-Aliasing von Text in eine 8bpp Bitmap zu bekommen? Dank!

War es hilfreich?

Lösung

Nein, Anti-Aliasing funktioniert nicht mit 8-bpp. Wenn Sie Updates müssen schneller, betrachten Sie Ihre Zeichnung mit so etwas wie OpenGL tun anstatt über GDI. Mit OpenGL, wird in der Regel die Zeichnung vollständig von der Grafik-Hardware durchgeführt werden, so dass selbst bei 32-bpp, in der Regel die Zeichnung wird schneller sein als GDI tut 8-bpp.

Es ist auch erwähnenswert, dass Sie wahrscheinlich besser wäre aus mit 32-bpp als entweder 8- oder 24-bpp auf jeden Fall. GDI kann (etwas) Hardwarebeschleunigung verwenden, aber es ist in der Regel am besten mit 32-bpp.

Andere Tipps

Nein, GDI hat keine Ausgabe auf einen paletti Bitmap Anti-Aliasing, und das ist genau das, was ein Graustufen-Bitmap ist.

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