Bezeichnung
FloodFill -- füllt einen Pinselbereich mit einer Farbe (V2.0)
Übersicht
FloodFill(id, x, y, bordercolor, color[, t])
Beschreibung
Dieser Befehl kann verwendet werden, um einen begrenzten Bereich in dem in id angegebenen Pinsel mit der Farbe color zu füllen. Sie müssen eine Startposition in den Argumenten x und y angeben. FloodFill() startet dann in alle Richtungen und ersetzt dann die Pixel mit der angegebenen Farbe, bis sie die Grenzfarbe bordercolor erreicht. Die Ausgangslage ist in der Regel ein beliebiger Punkt innerhalb des begrenzten Bereichs.

Wenn der Pinsel ein Palettenpinsel ist, arbeitet FloodFill() im Stiftmodus und nicht im Farbmodus. Das bedeutet, dass sowohl das Argument bordercolor als auch color auf einen Stiftindex anstelle einer RGB-Farbe gesetzt werden müssen. Im Stiftmodus verhält sich FloodFill() genauso wie im RGB-Modus, außer dass Stifte anstelle von RGB-Farben verwendet werden.

Ab Hollywood 9.0 können Sie auch #NOCOLOR im Argument bordercolor übergeben. In diesem Fall wird eine randlose Füllung verwendet, was bedeutet, dass alle benachbarten Pixel, die der Farbe (oder dem Stift) des Startpixels entsprechen, gefüllt werden.

Darüber hinaus führt Hollywood 9.0 ein optionales Tabellenargument ein, mit dem Sie die folgenden Optionen angeben können:

AlphaChannel:
Wenn Sie diesen Tag auf True setzen, arbeitet FloodFill() auf dem Alphakanal des Pinsels statt auf seinen Farbkanälen. Dies bedeutet, dass Sie Werte im Bereich von 0 bis 255 anstelle von RGB-Farben an FloodFill() übergeben müssen.

ColorSource:
Wenn dies und der Tag AlphaChannel auf True gesetzt sind, wird der zu füllende Bereich durch die Farbkanäle bestimmt, während die gesamte Ausgabe in den Alphakanal geschrieben wird. Das bedeutet, dass die an FloodFill() übergebene Rahmenfarbe eine RGB-Farbe (oder #NOCOLOR) und die Füllfarbe ein Alphawert zwischen 0 und 255 sein muss. (V9.1)

Siehe auch QuantizeBrush(), ReadBrushPixel(), ReplaceColors() und WriteBrushPixel().

Eingaben
id
Pinsel, den Sie füllen möchten
x
Startposition x für den Füllvorgang
y
Startposition y für den Füllvorgang
bordercolor
Farbe (oder Stift) des Rahmens oder #NOCOLOR eine randlose Füllung
color
Farbe (oder Stift) für die Füllung
t
optional: Tabellenargument mit weiteren Optionen (V9.0)
Beispiel
CreateBrush(1, 241, 201)
SelectBrush(1)
SetFillStyle(#FILLNONE)
Ellipse(0, 0, 120, 100, #RED)
EndSelect
FloodFill(1, 120, 100, #RED, #WHITE)
DisplayBrush(1, 0, 0)
Es wird eine rote Ellipse mit einer Kontur erzeugt, die dann mit der Farbe Weiß gefüllt wird. FloodFill() startet vom Zentrum der Ellipse aus in alle Richtungen.

Navigation zeigen