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 IMAGECREATE erstellter Puffer oder ein Array. Beide können mit PUT angezeigt werden. Wird 'Puffer' ausgelassen, zeichnet FreeBASIC direkt auf den Bildschirm. 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$. 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. 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,
DRAW STRING,  SCREENRES,
SCREENRES,  Grafik
Grafik
| Zusätzliche Informationen und Funktionen | ||||
|---|---|---|---|---|
| 
 | ||||

 Wer ist online?
 Wer ist online? Buchempfehlung
 Buchempfehlung
 FreeBASIC-Chat
 FreeBASIC-Chat
 FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
			FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
 Versionen
 Versionen