PAINT-Funkton in Turbo BASIC


PAINT-Funkton in Turbo BASIC

von Sleepy » Mi 28. Aug 2013, 17:04
Hi,

ich hätte da eine Frage zum Füllen einer Fläche.

Wenn ich z.B. in GRAPHICS 11 einen Kreis zeichne und diesen mit PAINT fülle, geht das anscheinend nur wenn die zu füllende Fläche die Hintergrundfarbe (schwarz) hat.

Bei diesem Beispiel funktioniert der PAINT-Befehl in Zeile 40 nicht:

10 GRAPHICS 11
20 COLOR 1:CIRCLE 40,80,10,40
30 COLOR 8:PAINT 40,80
40 COLOR 12:PAINT 40,80
50 DO:LOOP

Gibt es einen Trick wie man den einmal gefüllten Kreis auch ein zweites mal in einer anderen Farbe mit PAINT füllen kann?
Evt. muß ein Register von Farbe "0" (Hintergrund) auf Farbe "8" umgestellt werden damit PAINT die zu füllende Fläche erkennt? Oder geht daß nur wenn die zu füllende Fläche schwarz ist?

O.K., etwas weiter experimentiert.

Anscheinend geht es nicht direkt von einer Farbe auf eine andere zu füllen; mit dem Zwischenschritt "Fülle mit schwarz" geht es anscheinend; wobei PAINT aber keinen Unterschied zwischen den Farben macht sondern nur Hintergrund/nicht_Hintergrund unterscheidet: den andersfarbigen Ring scheint PAINT beim Füllen mit schwarz nicht als Grenze zu erkennen:

10 GRAPHICS 11
20 COLOR 1:CIRCLE 40,80,10,40
30 COLOR 8:PAINT 40,80
35 COLOR 0:PAINT 40,80
40 COLOR 12:PAINT 40,80
50 DO:LOOP

Mache ich was falsch oder geht es einfach nicht?

Sleepy

Re: PAINT-Funkton in Turbo BASIC

von eda70 » Do 29. Aug 2013, 12:40
Vermutlich wird der einfachheithalber mit dem Hintergrund verglichen, um zu ermitteln, was noch zu füllen ist.
Setz doch mal nach dem ersten Füllen den Hintergrund auf die Füllfarbe....