Frage

Mit GDI + Text auf Glas ziehen:

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

Sie werden feststellen, dass die Cleartype aktiviert Text zieht sehr ein schlechtes Licht auf Glas:

Aber mit Glas den Text, natürlich deaktiviert, zeichnet fein:

Im Vergleich hier ist Anti-Aliasing Schriftglättung :

Und hier ist keine Schriftglättung :

Hinweis . Kein Schriftart sieht besser glätten, als es wirklich tut, weil die Bilder Stackoverflow auf Ihrem Monitor passt die Größe

Wie zeichne ich Cleartype Text auf Glas?

Notizen

  • Win32 nativen
  • nicht .NET ( d. nativ)
  • nicht Winforms ( d. nativ)
  • GDI + ( d. nativ)

Was Mark ist darauf hindeutet, dass Sie nicht die Einstellungen des Benutzers für Text-Rendering ehren können (das heißt „SystemDefault“. Cleartype funktioniert nicht auf Glas, und Sie können es nicht verwenden.

Mit anderen Worten: Wenn Sie sich Rendering auf Glas müssen Sie den Text-Rendering außer Kraft setzen mit:

graphics.SetTextRenderingHint(TextRenderingHintAntiAliasGridFit);

Ansonsten sollten Sie die TextRenderingHint es die Standard-TextRenderingHintSystemDefault verlassen.

Siehe auch

War es hilfreich?

Lösung

Das Problem ist inhärent die Art und Weise Zeichnung durchgeführt wird. Alle Ihren Text auf einem schwarzen Hintergrund gezogen wird, dann auf eine Glas Hintergrund zusammengesetzt; die halbtransparente Schriftglättung mit Schwarz kombiniert wird nahezu schwarz zu machen.

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