AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) C# GDI+ DrawString: Kantenglättung streikt bei großer Schrift
Thema durchsuchen
Ansicht
Themen-Optionen

GDI+ DrawString: Kantenglättung streikt bei großer Schrift

Ein Thema von OregonGhost · begonnen am 18. Aug 2006 · letzter Beitrag vom 19. Aug 2006
Antwort Antwort
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#1

GDI+ DrawString: Kantenglättung streikt bei großer Schrift

  Alt 18. Aug 2006, 19:13
Ich habe einen einfachen Schriftartenbetrachter programmiert, bzw. bin noch dabei. Dabei bin ich auf ein unangenehmes Problem gestoßen, und zwar wird ab einer bestimmten Schriftgröße die Schrift nicht mehr geglättet (siehe Anhang). Im Betriebssystem ist ClearType aktiviert, und auch ein beliebiges Herumspielen an den Einstellungen des Graphics-Objekts ändert nichts. Schriftgröße 48 wird noch geglättet, darüber nicht mehr. In anderen Anwendungen funktioniert die Glättung. Woran kann das liegen?

Der Code zum Zeichnen sieht ungefähr so aus (gekürzt):
Code:
using (Font font = CreateDefaultFont(family, 16)) {
    e.Graphics.DrawString(smallTestText, font, SystemBrushes.WindowText, 2, 16);
}

using (Font font = CreateDefaultFont(family, 64)) {
    e.Graphics.DrawString(bigTestText, font, SystemBrushes.WindowText, 2, 32);
}
CreateDefaultFont erzeugt die Schriftart einfach mit dem ersten gefundenen Stil (gibt ja auch Schriftarten, für die es keinen Regular-Stil gibt), also im Prinzip nur
Code:
return new Font(family, height, fontStyle);
Edit:
Musste gerade feststellen, dass das Problem nicht bei jeder Schriftart auftritt - aber bei allen Schriftarten, bei denen es bei mir auftritt, sind keine Probleme in anderen Anwendungen festzustellen.
Miniaturansicht angehängter Grafiken
fontsample_721.png  
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#2

Re: GDI+ DrawString: Kantenglättung streikt bei großer Schri

  Alt 19. Aug 2006, 11:18
Hmm, seltsam. Ich hatte beim Herumprobieren eine der Einstellungen vergessen, wenn ich den TextRenderingHint auf AntiAliasGridFit stelle, hab ich Glättung - die normale, also hässliche. ClearType lässt sich auf keinem Weg dazu überreden, die große Schrift zu glätten. Aber, und das ist ein großes Aber, in anderen Anwendungen funktioniert ClearType bei großen Schriften...
Das kann's doch nicht sein, dass ich ab einer bestimmten Schriftgröße die Glättung umstellen muss, oder? Zumal es in anderen Anwendungen (selbst in Wordpad) ja funktioniert -.-
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz