Question

Utilisation de GDI + pour dessiner le texte sur le verre:

graphics.DrawString(s, Length(s), font, MakePointF(x, y), brush);

Vous remarquerez que le texte ClearType activé dessine très mal sur le verre:

Mais avec le verre désactivé le texte, bien sûr, bien dessiner:

A titre de comparaison voici police anti-crénelage :

Et voici pas le lissage des polices :

Remarque :. Pas de lissage des polices semble mieux que cela fait vraiment parce que StackOverflow redimensionne les images sur votre écran

Comment puis-je dessiner du texte ClearType sur le verre?

Remarques

  • native Win32
  • pas .NET ( i.e.. natif)
  • pas Winforms ( i.e.. natif)
  • GDI + ( i.e.. natif)

Qu'est-ce que Mark suggère est que vous ne pouvez pas honorer les préférences de l'utilisateur pour le rendu du texte (à savoir « SystemDefault ». ClearType ne fonctionne pas sur le verre, et vous ne pouvez pas l'utiliser.

En d'autres termes, si vous êtes rendu sur le verre, vous devez remplacer le rendu de texte:

graphics.SetTextRenderingHint(TextRenderingHintAntiAliasGridFit);

Sinon, vous devez quitter le TextRenderingHint à elle est TextRenderingHintSystemDefault par défaut.

Voir aussi

Était-ce utile?

La solution

Le problème est inhérent au dessin de manière est effectuée. Tous votre texte est en cours d'élaboration sur un fond noir, puis sur un fond composited en verre; le lissage des caractères semi-transparent est combiné avec le noir de faire presque noir.

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