Zeichnen / grafische Primitive #G

Befehlsgruppe um geometrische Formen und Linien darzustellen.

Rechteck platzieren

(Graphic Rounded Rectangle)

#GRR

Obj-ID, DrawStyle-Nr, x, y, Anker, Breite, Höhe(=Breite), Radius (0), Rahmendicke(0), Winkel(0)

n-Eck platzieren

(Graphic Geometric Polygon)

#GGP

Obj-ID, DrawStyle-Nr, x, y, Anker, Radius, Ecken, Rahmendicke(0), Winkel(0)

Stern platzieren

(Graphic Geometric Star)

#GGS

Obj-ID, DrawStyle-Nr, x, y, Anker, Radius1, Radius2, Spitzen, Rahmendicke(0), Winkel(0)

Kreis/Ellipse platzieren

(Graphic Ellipse Total)

#GET

Obj-ID, DrawStyle-Nr, x, y, Anker, RadiusX, RadiusY(=RadiusX), Rahmendicke(0), Winkel(0)

Kreissektor/Kuchenstück platzieren

Graphic Ellipse Pie)

#GEP

Obj-ID, DrawStyle-Nr, x, y, Anker, RadiusX, RadiusY, StartWinkel, EndWinkel, Winkel(0)

Kreissegment platzieren

(Graphic Ellipse Segment)

#GES

Obj-ID, DrawStyle-Nr, x, y, Anker, RadiusX, RadiusY, StartWinkel, EndWinkel, Winkel(0)

Kreisbogen platzieren

(Graphic Ellipse Arc)

#GEA

Obj-ID, DrawStyle-Nr, x, y, Anker, RadiusX, RadiusY, StartWinkel, EndWinkel, Border(0), Winkel(0)

Polylinie platzieren

(Graphic Polygon Line)

#GPL

Obj-ID, DrawStyle-Nr, x1, y1, x2, y2, ... xn, yn

Polylinie Einstellungen

(Graphic Polygon Option)

#GPO

Obj-DI, Beschleunigtes Zeichnen

Polygon platzieren

(Graphic Polygon Fill)

#GPF

Obj-ID, DrawStyle-Nr, x1, y1, x2, y2, ... xn, yn

Punkte zu Polyline oder Polygon hinzufügen

(Graphic Polygon Add)

#GPA

Obj-ID, x1, y1, x2, y2, ... xn, yn

Pfad platzieren

(Graphic Path Place)

#GPP

Obj-ID, DrawStyle-Nr, x, y, Segment1, ..., SegmentN

Subpfad zu Pfad hinzufügen

(Graphic Path add Subpath)

#GPS

Obj-ID, Segment1, ..., SegmentN

Pfad platzieren (Segmente als String)

(Graphic Path String)

#GPT

Obj-ID, DrawStyle-Nr, x, y, "Segment1, ..., SegmentN"

Marker für Pfad definieren

(Graphic Path Marker)

#GPM

Obj.-ID, Marker Obj-ID

Geometrische Figuren

Rechteck platzieren

#GRR

Obj-ID, DrawStyle-Nr, x, y, Anker, Breite, Höhe(=Breite), Radius (0), Rahmendicke(0), Winkel(0)

Eine Rechteck wird mit dem Anker und der Breite an die Position x, y platziert. Mit dem DrawStyle wird das Aussehen des Rechtecks bestimmt (DrawStyle-Nr.). Im Unterkapitel DrawStyle ist dies genauer erläutert. Ist keine Höhe angegeben, wird sie auf die Breite gesetzt (Quadrat). Optional kann ein Radius angegeben werden. Dieser rundet die Ecken ab. Zudem ist es möglich eine Rahmendicke zu bestimmen. Auch eine Rotation um den Anker (Winkel) kann eingestellt werden.

...

#GRR 1,1,20,150,7,200,100

#GRR 2,1,20,20,7,200,100,10,30

...


n-Eck platzieren

#GGP

Obj-ID, DrawStyle-Nr, x, y, Anker, Radius, Ecken, Rahmendicke(0), Winkel(0)

Ein regelmäßiges Vieleck wird mit dem Anker und der gegebenen Anzahl an Ecken an die Position x, y platziert. Mit dem DrawStyle wird das Aussehen des n-Ecks bestimmt (DrawStyle-Nr.). Im Unterkapitel DrawStyle ist dies genauer erläutert. Der Radius gibt die Größe der Figur vor. Zudem ist es möglich eine Rahmendicke zu bestimmen. Auch eine Rotation um den Anker (Winkel) kann eingestellt werden. Bei Anker =0 wird der Konstruktionspunkt verwendet.

...

#GGP 1,1,20,20,7,100,5

...


Stern platzieren

#GGS

Obj-ID, DrawStyle-Nr, x, y, Anker, Radius1, Radius2, Spitzen, Rahmendicke(0), Winkel(0)

Ein Stern wird mit dem Anker an die Position x, y platziert. Mit dem DrawStyle wird das Aussehen des Sterns bestimmt (DrawStyle-Nr.). Im Unterkapitel DrawStyle ist dies genauer erläutert. Die erste Spitze wird oberhalb des Mittelpunktes auf Radius1 gesetzt. Dann erfolgt die Verbindung zu Radius2 dann zurück zu Radius1 usw. bis die Anzahl Spitzen erreicht ist. Zudem ist es möglich eine Rahmendicke zu bestimmen. Auch eine Rotation um den Anker (Winkel) kann eingestellt werden. Bei Anker =0 wird der Konstruktionspunkt verwendet.

...

#GGS 1,1,20,20,7,100,50,7

...


Kreis/Ellipse platzieren

#GET

Obj-ID, DrawStyle-Nr, x, y, Anker, RadiusX, RadiusY(=RadiusX), Rahmendicke(0), Winkel(0)

Eine Ellipse wird mit dem Anker und dem RadiusX an die Position x, y platziert. Mit dem DrawStyle wird das Aussehen des Kreises bestimmt (DrawStyle-Nr.). Im Unterkapitel DrawStyle ist dies genauer erläutert. Ist kein RadiusY angegeben, wird er auf RadiusX gesetzt (Kreis). Zudem ist es möglich eine Rahmendicke zu bestimmen. Auch eine Rotation um den Anker (Winkel) kann eingestellt werden.

...

#GET 1,1,20,20,7,120,80

...


Kreissektor/Kuchenstück platzieren

#GEP

Obj-ID, DrawStyle-Nr, x, y, Anker, RadiusX, RadiusY, StartWinkel, EndWinkel, Winkel(0)

Ein Kreissektor/Kuchenstück wird mit dem Anker, dem RadiusX und dem RadiusY an die Position x, y platziert. Start/EndWinkel geben die Größe des Stücks an. Mit dem DrawStyle wird das Aussehen des Kresisektors bestimmt (DrawStyle-Nr.). Im Unterkapitel DrawStyle ist dies genauer erläutert. Ist kein RadiusY angegeben, wird er auf RadiusX gesetzt (Kreis). Auch eine Rotation um den Anker (Winkel) kann eingestellt werden.

...

#GEP 1,1,20,20,7,100,100,20,250

...


Kreissegment platzieren

#GES

Obj-ID, DrawStyle-Nr, x, y, Anker, RadiusX, RadiusY, StartWinkel, EndWinkel, Winkel(0)

Ein Kreissegment wird mit dem Anker, dem RadiusX und dem RadiusY an die Position x, y platziert. Start/EndWinkel geben die Größe des Stücks an. Mit dem DrawStyle wird das Aussehen des Kreissegments bestimmt (DrawStyle-Nr.). Im Unterkapitel DrawStyle ist dies genauer erläutert. Ist kein RadiusY angegeben, wird er auf RadiusX gesetzt (Kreis). Auch eine Rotation um den Anker (Winkel) kann eingestellt werden.

...

#GES 1,1,20,20,7,100,100,20,250

...


Kreisbogen platzieren

#GEA

Obj-ID, DrawStyle-Nr, x, y, Anker, RadiusX, RadiusY, StartWinkel, EndWinkel, Border(0), Winkel(0)

Ein Kreisbogen wird mit dem Anker, dem RadiusX und dem RadiusY an die Position x, y platziert. Start/EndWinkel geben die Größe des Stücks an. Mit dem DrawStyle wird das Aussehen des Kreisbogens bestimmt (DrawStyle-Nr.). Im Unterkapitel DrawStyle ist dies genauer erläutert. Ist kein RadiusY angegeben, wird er auf RadiusX gesetzt (Kreis). Zudem ist es möglich eine Rahmendicke zu bestimmen. Auch eine Rotation um den Anker (Winkel) kann eingestellt werden.

...

#GEA 1,1,20,20,7,100,100,20,250

...


Polilinie platzieren

#GPL

Obj-ID, DrawStyle-Nr, x1, y1, x2, y2, ... xn, yn

Eine Polyline wird mit den Koordinaten [x1, y1],[x2, y2],...,[xn, yn] gezeichnet. Mit dem DrawStyle wird das Aussehen der Polyline bestimmt (DrawStyle-Nr.). Im Unterkapitel DrawStyle ist dies genauer erläutert.

...

#GPL 1,1,20,20,80,60,100,90,70,100,120,180

...


Polylinie Einstellungen (ab V1.5)

#GPO

Obj-DI, Beschleunigtes Zeichnen

Der Befehl aktiviert / deaktiviert eine Routine für das Beschleunigte Zeichnen von Polylinien. Hierbei werden die Stoßkanten der Linien allerdings ignoriert und nur einzelne Linien gezeichnet.

Beschleunigtes Zeichnen

inaktiv (0)

aktiv (1)


Polygon platzieren

#GPF

Obj-ID, DrawStyle-Nr, x1, y1, x2, y2, ... xn, yn

Ein gefülltes Polygon wird mit den Koordinaten [x1, y1],[x2, y2],...,[xn, yn] gezeichnet. Mit dem DrawStyle wird das Aussehen des Polygons bestimmt (DrawStyle-Nr.). Im Unterkapitel DrawStyle ist dies genauer erläutert. Vom letzten gegeben Punkt wird automatisch eine Verbindung zum ersten Punkt gezeichnet und so das Polygon geschlossen.

...

#GPF 1,1,20,20,100,100,120,180, 40,150,40,100

...


Punkte zu Polyline oder Polygon hinzufügen

#GPA

Obj-ID, x1, y1, x2, y2, ... xn, yn

Der Befehl fügt am Ende einer Polyline oder Polygon Koordinaten [x1, y1],[x2, y2],...,[xn, yn] hinzu. Beim Polygon wird die Figur automatisch geschlossen.

...

#GPL 1,1,20,20,80,60,100,90,70,100,120,180

#GPA 1,200,210

...


Pfad platzieren

#GPP

Obj-ID, DrawStyle-Nr, x, y, Segment1, ..., SegmentN

Ein Pfad wird mit der Startposition x, y gezeichnet. Mit dem DrawStyle wird das Aussehen des Polygons bestimmt (DrawStyle-Nr.). Im Unterkapitel DrawStyle ist dies genauer erläutert. Danach folgen die einzelnen Segmente. Sind die Segmentbefehle groß geschrieben (z.B. ?H, ?L, ...), so werden absolute Koordinaten verwendet - bei Kleinbuchstaben (z.B. ?h, ?l, ...) relative Koordinaten. Folgende Segmentbefehle sind vorhanden:

Segment

Beispiel

Horizontale Linie

?H x

?H 140

Vertikale Linie

?V y

?V 80

Linie

?L x, y

?L 140,80

Kreisbogen

?C Kreisbogen, Radius, x, y

?C 2,50,120,80

Elliptischer Kreisbogen

?E Kreisbogen,Radius-x, Radius-y, Winkel, x, y

?E 1,80,40,10,180,80

Qudratische Bézierkurve

?Q c1x, c1y, x, y

?Q 60,100,140,80

Glatte quadratische Bézierkurve

(der vorherige Stützpunkt wird gespiegelt)

?R x, y

?R 220,100

Kubische Bézierkurve

?S c1x, c1y, c2x, c2y, x, y

?S 60,100,100,120,140,80

Glatte kubische Bézierkurve

(der vorherige Stützpunkt wird gespiegelt)

?T c2x, c2y, x, y

?T 200,60,220,100

Pfad schließen

?Z



Neue Startkoordinaten (Unterpfad)

?M x, y





Beim Hinzufügen von einem Kreisbogen oder elliptischen Kreisbogen, muss der Kreisbogen genauer spezifiziert werden:

Kreisbogen

0

1

2

3

Kleiner Kreisbogen

Großer Kreisbogen

Gegen Uhrzeigersinn

Im Uhrzeigersinn

Gegen Uhrzeigersinn

Im Uhrzeigersinn


...

#GPP 1,1,20,20,?L100,100,?C0,50,150,100,?T175,30,250,30,?Z

...


Subpfad zu Pfad hinzufügen (ab V1.1)

#GPS

Obj-ID, Segment1, ..., SegmentN

Einem bestehenden Pfad können mit diesem Befehl weitere Segmente hinzugefügt werden.


Pfad platzieren (Segmente als String) (ab V1.2)

#GPT

Obj-ID, DrawStyle-Nr, x, y, "Segment1, ..., SegmentN"

Der Befehl führt das gleiche wie #GPP aus. Allerdings werden die einzelnen Segmente als String übergeben.


Marker für Pfad definieren (ab V1.5)

#GPM

Obj.-ID, Marker Obj-ID

Jedes beliebige, existierende Objekt (Marker Obj.-ID) kann als Marker für einen Pfad (Obj-ID) verwendet werden.

...

#GPM 1,2

...