Bezeichnung
ccontext:TextExtents -- Gibt die Textausdehnungen zurück
Übersicht
t = ccontext:TextExtents(s$)
Beschreibung
Ruft die Grenzen für eine TextZeichenkette ab. Die Grenzen beschreiben ein Rechteck im Benutzerbereich, das den "eingefärbten" Teil des Texts umschließt (wie er von ccontext:ShowText() gezeichnet würde). Darüber hinaus geben die Werte XAdvance und YAdvance den Betrag an, um den der aktuelle Punkt durch ccontext:ShowText() vorgezogen würde.

Diese Funktion gibt eine Tabelle zurück, die die Textbereiche beschreibt. Die Tabelle enthält die folgenden Felder:

XBearing
Der horizontale Abstand vom Ursprung zum ganz linken Teil der gezeichneten Glyphen. Positiv, wenn die Glyphen vollständig rechts vom Ursprung liegen.
YBearing
Der vertikale Abstand vom Ursprung bis zum obersten Teil der gezeichneten Glyphen. Nur positiv, wenn die Glyphen vollständig unterhalb des Ursprungs liegen; wird normalerweise negativ sein.
Width
Breite der Glyphen die gezeichnet wird.
Height
Höhe der Glyphen die gezeichnet wird.
XAdvance
Abstand, der nach dem Zeichnen dieser Glyphen in X-Richtung vorgeschoben werden soll.
YAdvance
Entfernung, die nach dem Zeichnen dieser Glyphen in Y-Richtung vorgeschoben werden soll. Wird normalerweise Null sein, mit Ausnahme des vertikalen Textlayouts, wie es in ostasiatischen Sprachen vorkommt.

Beachten Sie, dass Leerzeichen keinen direkten Einfluss auf die Größe des Rechtecks haben (Width und Height). Sie tragen indirekt dazu bei, indem sie die Position von Nicht-Leerzeichen ändern. Insbesondere nachgestellte Leerzeichen haben wahrscheinlich keinen Einfluss auf die Größe des Rechtecks, wohl aber auf die Werte XAdvance und YAdvance.

Beachten Sie außerdem, dass Textausdehnungen größtenteils, aber nicht vollständig, unabhängig von der aktuellen Transformationsmatrix sind, da sie in Benutzerbereichkoordinaten angegeben werden. Wenn Sie ccontext:Scale() mit Skalierungskoeffizienten von 2.0 auf jeder Achse aufrufen, wird der Text doppelt so groß gezeichnet, aber die gemeldeten Textausdehnungen werden nicht verdoppelt. Sie ändern sich aufgrund von Hinweisen geringfügig (Sie können also nicht davon ausgehen, dass die Metriken unabhängig von der Transformationsmatrix sind), bleiben ansonsten aber unverändert.

Eingaben
s$
Textfolge
Rückgabewerte
t
Tabelle mit den Textumfängen (siehe oben).

Navigation zeigen