Einzelnen Beitrag anzeigen

BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
495 Beiträge
 
Delphi 12 Athens
 
#1

"Echte" Ausmaße eines Strings ermitteln

  Alt 11. Mär 2014, 14:55
Hallo zusammen,

bin gerade dabei etwas Text in einer Zeichnung auszugeben. Teilweise auch Symbole. Diese sollen zentrisch sein (horizontal und vertikal). Dabei habe ich folgendes Problem:

Wie kann ich die echte Höhe eines Strings, also nur der Bereich der auch das Zeichen enthält ermitteln bzw. wie kann ich Strings wirklich zentrieren. Canvas.TextHeight z.B. ist da nicht sehr hilfreich, da hierbei immer der leere Platz um den String mit zurückgegeben wird. Ich möchte beispielsweise das Zeichen '~' vertikal zentriert ausgeben. Leider befindet sich dieses dann nicht wirklich im Zentrum, sondern darunter. Bei einer FontSize von z.B. 20 (Font ist Tahoma) erhalte ich für das o.g. Zeichen eine Breite von 20 und eine Höhe von 33. Gebe ich das Zeichen dann mit (Y - TextHeight div 2) aus, dann ist das Zeichen zu tief...

Hat jemand eine Idee?

Vielen Dank schon mal im Voraus

Alex
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat