Referenz - DRAW (Grafik)
Syntax: DRAW [Puffer,] Stringbefehle
Typ: Anweisung
Kategorie: Grafik
DRAW kann für mehrere verschiedene Zeichenbefehle verwendet werden. Um kleinere Figuren zu zeichnen, ist es durchaus geeignet.
- 'Puffer' ist ein Speicherbereich wie ein mit IMAGECREATE erstellter Puffer oder ein Array. Beide können mit PUT angezeigt werden. Wird 'Puffer' ausgelassen, zeichnet FreeBASIC direkt auf den Bildschirm.
- 'Stringbefehle' ist eine Reihe aus Zeichen. Jedes Zeichen stellt einen eigenen Befehl dar. Die möglichen Befehle werden unten aufgelistet.
Grafikcursorbefehle
- B - Vor einem eigentlichen Befehl angehängt bewirkt es, dass der Grafikcursor zwar bewegt, aber nichts gezeichnet wird.
- N - Vor einem eigentlichen Befehl angehängt bewirkt es, dass zwar gezeichnet wird, der Grafikcursor aber nicht bewegt wird.
- Mx,y - Zeichnet eine Strecke vom ursprünglichen Grafikcursor zu den Koordinaten (x|y). Wenn dem x ein + oder - vorausgeht, sind die Koordinaten relativ zum ursprünglichen Grafikcursor.
- U[n] - Zeichnet eine Strecke n Pixel nach oben (up) und bewegt den Grafikcursor. Wenn n ausgelassen wird, nimmt FreeBASIC 1 an.
- D[n] - Zeichnet eine Strecke n Pixel nach unten (down) und bewegt den Grafikcursor. Wenn n ausgelassen wird, nimmt FreeBASIC 1 an.
- L[n] - Zeichnet eine Strecke n Pixel nach links (left) und bewegt den Grafikcursor. Wenn n ausgelassen wird, nimmt FreeBASIC 1 an.
- R[n] - Zeichnet eine Strecke n Pixel nach rechts (right) und bewegt den Grafikcursor. Wenn n ausgelassen wird, nimmt FreeBASIC 1 an.
- E[n] - Zeichnet eine Strecke n Pixel nach oben rechts und bewegt den Grafikcursor. Wenn n ausgelassen wird, nimmt FreeBASIC 1 an.
- F[n] - Zeichnet eine Strecke n Pixel nach unten rechts und bewegt den Grafikcursor. Wenn n ausgelassen wird, nimmt FreeBASIC 1 an.
- G[n] - Zeichnet eine Strecke n Pixel nach unten links und bewegt den Grafikcursor. Wenn n ausgelassen wird, nimmt FreeBASIC 1 an.
- H[n] - Zeichnet eine Strecke n Pixel nach oben links und bewegt den Grafikcursor. Wenn n ausgelassen wird, nimmt FreeBASIC 1 an.
Farb-Befehle:
- Cn- Benutzt die Farbe mit der Nummer n als neue Vordergrundfarbe.
- Pp,b - Füllt einen Bereich mit der Randfarbe p in der Farbe b aus.
Skalierung und Rotation:
- Sn - Setzt die aktuelle Länge pro Einheit. Standardmäßig sind 4 Einheiten eingestellt.
- An - Dreht um n * 90 Grad (n muss zwischen 0 und 3 liegen).
- TAn - Dreht um n Grad (n muss zwischen 0 und 359 liegen).
Extrabefehle:
Xp - Führt Befehle von Adresse p aus. Sie können das so benutzen:
DIM AS STRING down10 = "D10"
DRAW "U10R5X" & VARPTR(down10) & "L5"
Beispiel 1:
DIM Stern AS STRING, buffer As ANY PTR
SCREENRES 640, 480
Stern = "BF25 C14 NU20 NR20 ND20 NL20 C4 NE10 NF10 NG10 NH10"
buffer = ImageCreate(200, 200, 1)
DRAW buffer, Stern
PUT (10, 10), buffer
IMAGEDESTROY buffer
SLEEP
Beispiel 2: Farbangabe im 32bit-Farbmodus
' Haus vom Nikolaus in gelb
SCREENRES 200, 200, 32
DRAW "BM50,180 C" & RGB(255, 255, 0) & " U100 R100 D100 L100 E100 H50 G50 F100"
SLEEP
Unterschiede zu QB:
- In FreeBASIC ist es möglich, in einen Datenpuffer zu zeichnen.
- QB verwendet mit dem Kommando "Xp" das spezielle Schlüsselwort VARPTR$.
- FreeBASIC erlaubt zur Zeit keine Bewegung in Teil-Pixeln: alle Bewegungen werden zu den nächsten INTEGER-Koordinatenwerte gerundet. In Zusammenhang mit einer Skalierung ist daher die Ausgabe in FreeBASIC möglicherweise nicht pixelgenau gleich wie in QB.
Siehe auch:
DRAW STRING, SCREENRES, Grafik
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|