Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Effektive Höhe Buchstaben und Canvas.TextHeight

  Alt 29. Mär 2006, 15:54
Das kann von Schrift zu Schrift unterschiedlich sein.

1. Die Schriftart muss genug Höhe und Tiefe für alle Zeichen haben. Es muss also nicht nur ein "U" hinein passen, sondern auch ein "Ü" mit den Punkten darüber.

2. Viele Schriftarten enthalten einen Durchschuss, also einen zusätzlichen Abstand vom oberen Pixelrand zum ersten Buchstabenpixel (engl. "Internal Leading"). Siehe hier:
http://www.catch22.net/tuts/img/editor10.gif

Den Abstand kannst du so bestimmen (die Schrift muss in den Canvas gesetzt sein):
Delphi-Quellcode:
var
  tm: TTextMetric;
begin
  GetTextMetrics(Canvas.Handle, tm);
  Result := tm.tmInternalLeading;
end;
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat