![]() |
AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
Zitat:
Delphi-Quellcode:
R := RectF(0,0,Memo.ViewportSize.Width,20000);
Memo.Canvas.MeasureText(R,Memo.Text,true,[],TTextAlign.Leading,TTextAlign.Leading); Sowas? R Hat dann die Höhe. |
AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
Nein, die Verwendung von MeasureText ist mir klar, funktioniert nur unter Android nicht!
Meine Frage nach dem Codeschnipsel bezog sich auf TTextLayout... Ciao Stefan |
AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
Na, ist eigentlich recht einfach bis auf den ersten Schritt, wo man nämlich das TTextLayout per TTextLayoutManager erzeugt.
Die OH hat dazu sogar ein Beispiel: ![]() Das TTextLayout kennt auch WordWrap und damit ist alles drin, was Du brauchst. Die Größe des entstandenen Texts kannst schließlich Du über die TextRect Property abfragen. Sherlock |
AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
Danke, ich habe es gefunden und es funktioniert, nur mit folgender Einschränkung:
Ich zeichne auf ein TImage (besser auf dessen Bitmap), ermittle die Texthöhe, zeichne weiter usw. Jetzt bin ich aber leider darauf gestoßen, dass bei Firemonkey die Bitmapgröße limitiert ist, so dass ich nach bei ca. 130 Einträgen nicht mehr weiterkomme ("Bitmap zu groß"). Ein Richedit gibt es bei Firemonkey nicht, ich brauche aber gemischt normalen und fetten Text. Lauter einzelne Labels erzeugen und positionieren widerstebt mir weil das ebenfalls auf dem Handy mehr als zähflüssig wird. So langsam gehen mir die Ideen aus, wie ich meine Textausgabe realisieren kann! Hat jemand dazu vielleicht eine Idee? Ciao Stefan |
AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
Diese Bitmap-Limitierung gilt auch für VCL (eventuell mit anderen Dimensionen), und ich werde in bälde auch daran zu knabbern haben. Man behilft sich dann, indem man mehrere Bitmaps aneinander klebt.
Sherlock |
AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
Zitat:
Meine Lösung, die ich jetzt umgesetzt habe: Im OnPaint der Komponente male ich jetzt meine Texte auf den Canvas, dafür braucht man keine Bitmap erzeugen und es gibt (bis jetzt jedenfalls) keine "Mengenbeschränkung", so dass ich auch 800 Texte zeichnen kann, das Scrolling wird dann etwas träger aber bei normaler Verwendung absolut problemlos. Für die Positionierung jetzt das TTextLayout und alles ist schick ;-) Ciao Stefan |
AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
Gratuliere!
Sherlock |
AW: Höhe eines mit FillText in Firemonkey gezeicheten Textes ermitteln?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Ich render mit meiner Engine 5-8 A4 Seiten (mehr brauche ich nicht, geht aber) Ich setze einfach Bitmap an Bitmap auf eine Scrollbox... Screenshoot von der Windows-Version (ging jetzt einfacher) aber geht auf allen Plattformen... ![]() ![]() Die Daten kommen aus eine XML-Datei und werden ![]() Die Engine hat ca. 2500 LOC... Mavarik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz