2 Stimmen

Win32 TextOut verwenden, um Text in einem Winkel zu zeichnen

Ich verwende GDI, um Text auf einen Gerätekontext zu zeichnen, und ich bemerkte, dass das Kerning oder die Zeichenplatzierung unterschiedlich ist, wenn der Winkel genau 0, 90, 180 oder 270 ist. Sobald ich den Winkel um 1 erhöhe, unterscheidet sich die Zeichenplatzierung merklich.

Anstatt eine HFONT mit dem Winkel, ich verwende ModifyWorldTransform um die Weltkoordinaten des Gerätekontexts zu transformieren, und dann verwende ich TextOut um den Text auf den Gerätekontext zu zeichnen.

Ich denke, dass GDI Schriftartenhinweise oder eine andere spezielle Technik verwendet, wenn der Text in exakten Vielfachen von 90 Grad gezeichnet wird, aber nicht für jeden anderen Winkel.

Gibt es eine Möglichkeit, dieses Hinting zu deaktivieren, so dass sich der bei 0 Grad gerenderte Text nicht wesentlich von dem bei 1 Grad gerenderten Text unterscheidet?

Hier ist ein Beispiel dafür (Schriftart Monotype Corsiva):

0 Grad :
0 degrees

1 Grad :
1 degree

Bei einigen Schriftarten, wie z. B. Arial oder Tahoma, fällt das nicht so sehr auf, aber ich würde den Unterschied gerne ganz loswerden, auch wenn das bedeutet, dass der Text nicht optimal wiedergegeben wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X