Textlänge eines gegebenen Texts in Pixeln errechnen ?
Verfasst: 16.08.2015 22:34
ich versuche, den Text eines FrameGadgets an die jeweilige Window Größe anzupassen, sprich den Text gegebenfalls abzuschneiden,
damit er nicht über das im FrameGadget verfügbare Maß an Pixeln / Zeichen hinausgeht.
Bis jetzt ist mein Ansatz, aus Breite des FrameGadgets und dem Text ein Ratio zu errechnen, bei Unterschreitung eines festgelegten
Ratios wird der Text auf das festgelegte Ratio beschnitten.
Das funktioniert, aber aufgrund des proportionalen Fonts ist das Ergebnis nicht exakt.
Ich kann zwar mit TextWidth(Text.s) aus der 2DDrawing die exakte Breite in Pixeln errechnen, die der aktuelle Text benötigt,
aber wie errechne ich, wieviel Zeichen ich abschneiden muß, damit der Text die gewünschte Anzahl Pixel nicht überschreitet ?
Aktuell könnte ich mir nur eine Iteration in einer Schleife vorstellen, also sprich ich nehme pro Durchlauf ein Zeichen weg
und dann teste ich, wieviele Pixel der Text dann hat.
Gibts nicht irgendwie was schnelleres / einfacheres / besseres ?
damit er nicht über das im FrameGadget verfügbare Maß an Pixeln / Zeichen hinausgeht.
Bis jetzt ist mein Ansatz, aus Breite des FrameGadgets und dem Text ein Ratio zu errechnen, bei Unterschreitung eines festgelegten
Ratios wird der Text auf das festgelegte Ratio beschnitten.
Das funktioniert, aber aufgrund des proportionalen Fonts ist das Ergebnis nicht exakt.
Ich kann zwar mit TextWidth(Text.s) aus der 2DDrawing die exakte Breite in Pixeln errechnen, die der aktuelle Text benötigt,
aber wie errechne ich, wieviel Zeichen ich abschneiden muß, damit der Text die gewünschte Anzahl Pixel nicht überschreitet ?
Aktuell könnte ich mir nur eine Iteration in einer Schleife vorstellen, also sprich ich nehme pro Durchlauf ein Zeichen weg
und dann teste ich, wieviele Pixel der Text dann hat.
Gibts nicht irgendwie was schnelleres / einfacheres / besseres ?