AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von sko1 · begonnen am 3. Mär 2017 · letzter Beitrag vom 7. Mär 2017
Antwort Antwort
Seite 1 von 2  1 2      
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

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

  Alt 3. Mär 2017, 15:47
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#2

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?

  Alt 3. Mär 2017, 16:07
Du gehst die Pixel durch und schaust in welcher Zeile das Letze bemalt wurde.



Canvas.MeasureText?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?

  Alt 3. Mär 2017, 17:57
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.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#4

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?

  Alt 3. Mär 2017, 23:14
Warum ist Firemonkey so einfach ?

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

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#5

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?

  Alt 4. Mär 2017, 01:15
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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Mär 2017 um 01:17 Uhr)
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?

  Alt 4. Mär 2017, 13:45
Danke für die Tips, ich werde mal sehen ob ich da weiterkomme!

Ciao
Stefan
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?

  Alt 6. Mär 2017, 07:35
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;

Geändert von sko1 ( 6. Mär 2017 um 07:47 Uhr)
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?

  Alt 6. Mär 2017, 13:28
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!

Geändert von sko1 ( 6. Mär 2017 um 14:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?

  Alt 6. Mär 2017, 15:39
Nimmt man nicht lieber das Delphi-Referenz durchsuchenFMX.TextLayout.TTextLayout für sowas? Das hat auch alle Maße parat.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?

  Alt 6. Mär 2017, 15:50
Hast Du dafür bitte mal einen Codeschnipsel?

Danke
Ciao
Stefan
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr.
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