PAINT (TSB)

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Begriffsklärung Der Titel dieses Artikels ist mehrdeutig. PAINT (Begriffsklärung).
PAINT (TSB)
Format: PAINT <x>,<y>,<f>
Parameter
x: X-Koordinate des Startpunktes (0..319 / 0..159)
y: Y-Koordinate des Startpunktes (0..199)
f: Farbquelle (0..2 / 0..4)
Einordnung
Typ: Anweisung
Kontext: Grafik
Aufgabe: Ausfüllen einer umschlossenen Fläche
Abkürzung: paI
Verwandte Befehle
PLOT - REC - LINE - CIRCLE - ARC - ANGL - BLOCK


Dieser Artikel beschreibt das Schlüsselwort PAINT (TSB).
Das entsprechende Simons'-Basic-Schlüsselwort lautet ebenfalls PAINT.

Typ: Anweisung 
Syntax: PAINT <x>,<y>,<f>

Mit PAINT werden umschlossene Fläche in der Farbe der angegebenen Farbquelle <f> ausgefüllt (s. dazu HIRES). Zulässige Werte für <x> sind 0..319 (im Hires-Modus) bzw. 0..159 (im Multicolor-Modus). Für <y> sind in beiden Fällen Werte von 0 bis 199 erlaubt. Der Punkt 0,0 ist in der linken oberen Ecke.

PAINT kann durch Drücken einer der Tasten CTRL, C= oder Shift abgebrochen werden. Der interne Algorithmus arbeitet anders (in Simons' Basic läuft der Füll-"Stift" abwärts und aufwärts und vergisst schon mal etwas, in TSB geht es nur abwärts, ohne Vergesslichkeit). Der Invertiermodus (<f> = 2 oder 4) arbeitet in TSB einwandfrei.

Nachdem eine Reihe von "Flugblättern" ausgeworfen wurde, tritt PAINT in Aktion und schwärzt den Hintergrund. Ein wundervolles Demo für die Funktionsweise des PAINT-Befehls!

PAINT tut nichts, wenn der angewählte Startpunkt bereits die gewünschte Farbe hat. Wird kein Parameter eingegeben, so erscheint die Fehlermeldung ?SYNTAX ERROR, bei einem falschen Wert erscheint ?BAD MODE ERROR.

Beispiel: 

100 HIRES 0,1
105 REPEAT: GET x$
110 x=290*RND(1): y=180*RND(1)
120 BLOCK x,y,x+29,y+19,0
130 REC x,y,29,19,1
140 UNTIL x$>"": PAINT 0,0,1
150 WAIT 198,255
 
(erzeugt die abgebildete Grafik)

Beispiel übernommen und angepasst aus dem Buch Spiele mit Computergrafik.