Entwickler-Ecke

Multimedia / Grafik - Wie kann ich Mit Canvas Text zentrieren


Maik19 - Mi 04.09.02 11:33
Titel: Wie kann ich Mit Canvas Text zentrieren
Habe mal ne Frage. Will mit Canvas einen Text zentriert oder links/rectsbündig in ein TBitmap einfügen. Aber wie mache ich den Text zentriert oder Links/Rechtbündig ist?


Klabautermann - Mi 04.09.02 13:38

Hallo,

du must einfach ausrechnen an welcher Stelle du den Text Zeichnen musst. Mit hilfe von Canvas.TextWidth, Canvas.TextHeight und Canvas.TextExtent kannst du auszugebende Texte vermessen um eine Berechnungsgrundlage zu haben. Der Rest ist Mathematik.

Gruß
Klabautermann


Maik19 - Mi 04.09.02 14:10
Titel: Danke!
Hab es hinbekommen. Ich danke für die schnelle antwort.


GPF - Mi 04.09.02 14:38

Du kannst die Berechnungen auch über die Windows API laufen lassen. Dazu darfst Du allerdings nicht mehr die Canvas Methoden Textout & Co anwenden.
Allerdings bist Du dann ziemlich flexibel, da die API Routinen Dir eine Menge Rechnerei abnehmen. So kannst Du auch ebenso z.B. die Ausrichtung von mehrzeiligen Textblöcken ändern.
Falls Du die Delphi Quelltexte besitzt empfiehlt sich ein Blick in die Textout Methode.

Die Schlüsselworte für die Windows SDK Hilfsdatei lauten Textout, ExtTextOut, SetTextAlign, GetTextAlign und SetBkMode.


OregonGhost - Mi 04.09.02 19:31

Nicht zu vergessen DrawText und DrawTextEx...