Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln? (https://www.delphipraxis.net/191924-hoehe-eines-mit-filltext-firemonkey-gezeicheten-textes-ermitteln.html)

sko1 3. Mär 2017 15:47

Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
 
Hallo,

warum ist mit Firemonkey alles so schwierig umzusetzen?

Ich male auf einem Canvas Texte mit FillText, dabei ist WordWrap = true so dass der Text, wenn er nicht auf die vorgegebene Breite passt, umgebrochen wird. Das funktioniert, aber wie bekomme ich heraus wie hoch dieser Textblock nun ist um die nächste Zeile darunter anordnen zu können?

Ciao
Stefan

himitsu 3. Mär 2017 16:07

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
 
Du gehst die Pixel durch und schaust in welcher Zeile das Letze bemalt wurde. :stupid:



Canvas.MeasureText?

Harry Stahl 3. Mär 2017 17:57

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
 
Versuch doch mal mit "MeasureLines" Dein Glück.

http://docwiki.embarcadero.com/Libra...s.MeasureLines

In TLineMetricInfo erhältst Du die Anzahl der Zeilen zurück, die Dein Text beanspruchen wird. Die mal Höhe einer Textzeile multipliziert gibt Dir dann die Y-Position, wo Du die nächste Textzeile ausgeben kannst.

Rollo62 3. Mär 2017 23:14

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
 
Warum ist Firemonkey so einfach ?

Ich glaube soetwas wie MeasureLines gab es in VCL nicht ...

Rollo

himitsu 4. Mär 2017 01:15

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
 
In der VCL, bzw. GDI und GDI+, kann man der Text-Zeichen-API sagen "nicht zeichnen, sondern miss nur und gib mir das Ergebnis".

Letztendlich bassiert ja der VCL-TCanvas auf diesen APIs
MSDN-Library durchsuchenDrawText und MSDN-Library durchsuchenDrawTextEx -> DT_CALCRECT

sko1 4. Mär 2017 13:45

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
 
Danke für die Tips, ich werde mal sehen ob ich da weiterkomme!

Ciao
Stefan

sko1 6. Mär 2017 07:35

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
 
Die Funktion habe ich gefunden, aber wie ich das verwende, ist mir absolut unklar, zumal die Onlinehilfe zwar Beispiele verweist, keines aber MeasureLines verwendet.

Kann mir bitte jemand mit 2 Zeilen Code auf die Sprünge helfen?

Danke
Ciao
Stefan

Edit:
Wald vor lauter Bäumen nicht gesehen, es fehlte bei mir

Alines := TLineMetricInfo.Create;

sko1 6. Mär 2017 13:28

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
 
Ich hatte mich schon so gefreut, unter Windows alles fein, aber:

MeasureLines in der Android-App gibt mit Alines.Count immer 0 zurück!

Was mach ich nun?

Ciao
Stefan

Nachtrag:
MeasureLines gibt 0 Zeilen zurück, inzwischen habe ich auch MeasureText probiert, das Rect gibt immer die Höhe eines einzeiligen Textes zurück!

Sherlock 6. Mär 2017 15:39

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
 
Nimmt man nicht lieber das Delphi-Referenz durchsuchenFMX.TextLayout.TTextLayout für sowas? Das hat auch alle Maße parat.

Sherlock

sko1 6. Mär 2017 15:50

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
 
Hast Du dafür bitte mal einen Codeschnipsel?

Danke
Ciao
Stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz