Question

Je l'ai sélectionné un bitmap 8bpp dans un CDC et utilisé :: TextOut () pour dessiner le texte. La qualité de la police est ANTIALIASED_QUALITY, mais le texte est en noir et blanc; pas de pixels gris et des bords dentelés.

Le bitmap 8bpp a été extrait d'un bitmap 24bpp que le texte avait déjà crénelées tiré sur elle, et que le texte est ok. (Les deux types de texte sont dans le même bitmap.)

Bien sûr, je pourrais tirer sur 24bpp et convertir, mais cela est plus lent et complexe. (Le texte change plus tard, et est répété plusieurs fois.) Est-il possible d'obtenir directement du texte crénelées dans un bitmap 8bpp? Merci!

Était-ce utile?

La solution

Non, l'anti-aliasing ne fonctionne pas avec 8-BPP. Si vous avez besoin plus rapidement les mises à jour, pensez à faire votre dessin avec quelque chose comme OpenGL au lieu de via GDI. Avec OpenGL, le dessin sera normalement entièrement fait par le matériel graphique, donc même à 32 BPP, le dessin sera généralement plus rapide que GDI faire 8 BPP.

Il est également intéressant de noter que vous auriez probablement mieux avec 32 BPP que soit 8 ou 24 BPP dans tous les cas. GDI peut utiliser (un peu) l'accélération matérielle, mais il est généralement à son meilleur avec 32 BPP.

Autres conseils

Non, GDI ne fait pas la sortie anti-crénelé à un bitmap palettisée, et qui est exactement ce qu'un bitmap en niveaux de gris.

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