Bezeichnung
PathItems -- durchläuft einzelne Pfadelemente (V7.0)
Übersicht
f = PathItems(id)
Beschreibung
Dieser Befehl kann zusammen mit der generischen For-Anweisung verwendet werden, um alle Elemente in einem Pfad zu durchlaufen. Er gibt eine Iterator-Funktion zurück, die eine Tabelle zurückgibt, die Informationen über das nächste Element im Pfad enthält. Sobald alle Pfadpositionen zurückgegeben wurden, gibt die Iterator-Funktion Nil zurück, um die generische For-Anweisung zu beenden.

Siehe Generische For-Anweisung für Details.

Die von PathItems() zurückgegebene Tabelle enthält ein Zeichenketten-Feld Type, der den Pfadtyp beschreibt. Alle weiteren Tabellenfelder hängen von dem in Type zurückgegebenen Pfadtyp ab. Folgende Typen werden derzeit unterstützt:

NewSubPath:
Dieses Element startet einen neuen Teilpfad. Der aktuelle Punkt ist zu diesem Zeitpunkt undefiniert. Es gibt keine zusätzlichen Argumente.

ClosePath:
Schließt den aktuellen Pfad, indem er eine Linie vom aktuellen Punkt zum ersten Punkt im Teilpfad zeichnet. Es gibt keine zusätzlichen Argumente.

MoveTo:
Es wird ein neuer Teilpfad begonnen. Der aktuelle Punkt des Unterpfades wird auf die angegebene Position gesetzt. Die Tabelle MoveTo enthält drei weitere Argumente:

Rel:
Dies ist ein boolescher Wert, der angibt, ob die Koordinaten relative oder absolute Werte sind. Wenn dies True ist, müssen die Koordinaten als relativ zum aktuellen Punkt interpretiert werden.

X:
Die x-Koordinate der neuen Position.

Y:
Die y-Koordinate der neuen Position.

LineTo:
Dies zeichnet eine Linie vom aktuellen Punkt zur angegebenen Position. Darüber hinaus wird es den aktuellen Punkt auf den Endpunkt der Linie ändern, wenn sie fertig ist. Die Tabelle LineTo enthält die folgenden drei weiteren Argumente:

Rel:
Dies ist ein boolescher Wert, der angibt, ob die Koordinaten relative oder absolute Werte sind. Wenn dies True ist, müssen die Koordinaten als relativ zum aktuellen Punkt interpretiert werden.

X:
Die x-Koordinate der neuen Position.

Y:
Die y-Koordinate der neuen Position.

Wenn es keinen aktuellen Punkt gibt, wird sich LineTo so verhalten, als wäre es MoveTo, d.h. es wird einfach den aktuellen Punkt auf den angegebenen Scheitelpunkt setzen.

CurveTo:
Hiermit wird eine Bézier-Kurve gezeichnet, die vom aktuellen Punkt bis zu der Position läuft, die in den letzten zwei Koordinaten übergeben wurde. Die anderen vier Koordinaten sind die Kontrollpunkte für die Kurve. Außerdem ändert es den aktuellen Punkt zum Endpunkt der Kurve, wenn sie fertig ist. Die Tabelle CurveTo enthält die folgenden sieben weitere Argumente:

Rel:
Dies ist ein boolescher Wert, der angibt, ob die Koordinaten relative oder absolute Werte sind. Wenn dies True ist, müssen die Koordinaten als relativ zum aktuellen Punkt interpretiert werden.

X1:
Die x-Koordinate des ersten Kontrollpunktes.

Y1:
Die y-Koordinate des ersten Kontrollpunktes.

X2:
Die x-Koordinate des zweiten Kontrollpunktes.

Y2:
Die y-Koordinate des zweiten Kontrollpunktes.

X3:
Die x-Koordinate des Endpunktes.

Y3:
Die y-Koordinate des Endpunktes.

Wenn es keinen aktuellen Punkt gibt, wird CurveTo den ersten Kontrollpunkt (x1, y1) als aktuellen Punkt verwenden.

Arc:
Damit wird ein elliptischer Bogen gezeichnet. Arc eröffnet einen neuen Teilpfad für den neuen Bogen nur für den Fall, dass es keinen momentan aktiven Teilpfad gibt. Wenn bereits ein Teilpfad vorhanden ist, wird Arc seinen Anfangspunkt mit dem aktuellen Punkt des Teilpfades verbinden. Arc schließt den Teilpfad nicht, wenn er seine Eckpunkte hinzugefügt hat. Arc verbindet nicht automatisch den Start- und Endwinkel des Bogens mit seinem Mittelpunkt. Dies muss ausdrücklich angegeben werden, indem wir vor und nach Arc getrennte MoveTo- und LineTo-Befehle benutzen. Die Tabelle Arc enthält die folgenden zusätzlichen Argumente:

XC:
Den Mittelpunkt x des Bogens.
YC:
Den Mittelpunkt y des Bogens.
RA:
Bogenradius auf der x-Achse.
RB:
Bogenradius auf der y-Achse.
Start:
Startwinkel in Grad.
End:
Endwinkel in Grad.
Clockwise:
Ob die Winkel im Uhrzeigersinn gezeichnet werden oder nicht.

Wenn Arc fertig ist, wird der aktuelle Punkt auf die Position des Endwinkels gesetzt.

Box:
Dieser Befehl zeichnet ein Rechteck. Box öffnet zuerst einen neuen Unterpfad, dann werden die Eckpunkte des Rechtecks hinzugefügt und schließt den Teilpfad, wenn er fertig ist. Optional kann das Rechteck abgerundete Ecken haben. Die Box-Tabelle enthält die folgenden zusätzlichen Argumente:

X:
X-Position des Rechtecks.
Y:
Y-Position des Rechtecks.
Width:
Breite des Rechtecks.
Height:
Höhe des Rechtecks.
Round:
Dies ist eine Tabelle, die vier Ganzzahlenwerte im Bereich von 0 bis 100 enthält, mit denen die Rundung der vier Ecken des Rechtecks in Grad angeben werden. Ein Wert von 0 bedeutet keine Rundung, 100 hingegen Vollrundung.

Text:
Dieser Befehl zeichnet einen Vektortext relativ zum aktuellen Punkt. Die einzelnen Zeichen werden als geschlossene Unterpfade hinzugefügt. Die Tabelle Text enthält die folgenden zusätzlichen Argumente:

Size:
Gewünschte Schriftgröße.

Text:
Die Zeichenkette mit dem Text.

Wenn Text fertig ist, wird der aktuelle Punkt gesetzt, wo das nächste Zeichen angezeigt wird.

Eingaben
id
Identifikator des Pfades, welcher durchlaufen wird
Rückgabewerte
f
Iterator-Funktion für die generische Schleife
Beispiel
For t In PathItems(1) Do DebugPrint(t.type)
Der obige Code durchläuft alle Elemente in Pfad 1 und gibt den Typ jedes Elements auf dem Debug-Gerät aus.

Navigation zeigen