Ich verwende GDI, um Text auf einen Gerätekontext zu zeichnen, und ich bemerkte, dass die Kerning oder Zeichenplatzierung unterschiedlich ist, wenn der Winkel genau 0, 90, 180 oder 270 ist. Sobald ich den Winkel um 1 vergrößere, unterscheidet sich die Zeichenplatzierung merklich.Verwenden von Win32 TextOut zum Zeichnen von Text in einem Winkel
Anstatt eine HFONT
mit dem Winkel zu erstellen, verwende ich ModifyWorldTransform
, um die Weltkoordinaten des Gerätekontextes zu transformieren, und dann verwende ich TextOut
, um den Text auf den Gerätekontext zu zeichnen.
Ich denke, dass GDI Schriftart Tipps oder eine andere spezielle Technik verwendet, wenn der Text mit genauen Vielfachen von 90 Grad gezeichnet wird, aber nicht für einen anderen Winkel.
Gibt es eine Möglichkeit, dieses Hinting zu deaktivieren, so dass Text, der bei 0 Grad gerendert wird, sich nicht wesentlich von Text unterscheidet, der bei 1 Grad gerendert wird?
Hier ist ein Beispiel dafür, was ich meine (Monotypie Corsiva Schrift):
0 Grad:
1 Grad:
Für einige Schriftarten, wie als Arial oder Tahoma ist es nicht so auffällig, aber ich würde den Unterschied gerne ganz loswerden, auch wenn es sich um einen Unterschied handelt ns der Text wird nicht so gut wie möglich gerendert.
Danke für die Ideen, aber leider auch wenn ich AA zu deaktivieren, ist das Ergebnis das gleiche (mit Ausnahme der Text ist kein Anti-Aliasing). Wenn ich an der Präzision/Qualität von CreateFont herumhändere, ändert sich auch das Ergebnis nicht :(Ich denke, ich werde es erst einmal hinnehmen und es beheben müssen, wenn das Management mich darum bittet. – dreamlax