Bezeichnung
BRUSH -- lädt einen Pinsel vor (V2.0)
Übersicht
@BRUSH id, filename$[, table]
Beschreibung
Diese Präprozessor-Anweisung lädt den in filename$ angegeben Pinsel und er bekommt die Kennung id.

Bildformate, die auf allen Plattformen unterstützt werden, sind PNG, JPEG, BMP, IFF ILBM, GIF und Plugins für Bilder. Je nach Plattform, worauf Hollywood ausgeführt wird, können mehr Bildformate unterstützt werden. Zum Beispiel auf den Amigakompatiblen Systemen wird Hollywood in der Lage sein, alle Formate über Bilddatatypes zu öffnen. Unter Windows kann @BRUSH auch Bildformate laden, die von der Windows-Imaging-Komponente unterstützt werden.

Ab Hollywood 5.0 kann dieser Befehl auch Vektorformate wie SVG laden, wenn Sie ein entsprechendes Plugin installieren. Beachten Sie aber, dass wenn Sie Vektorbilder mit diesen Befehl laden, wird der Pinsel ein spezieller Vektorpinsel sein, der nicht alle Merkmale der normalen Pinsel unterstützt. Sie können jedoch Vektorpinsel mit dem Befehl RasterizeBrush() in Rasterpinsel umwandeln. Siehe Vektorpinsel für weitere Informationen über Vektorpinsel.

Das dritte Argument table ist optional. Es ist eine Tabelle, um weitere Möglichkeiten für den Ladevorgang verwenden zu können. Die folgenden Tags stehen dafür zur Verfügung:

Transparency:
Dieser Tag kann verwendet werden, um eine Farbe in RGB-Notation anzugeben, die im Pinsel transparent erscheinen soll.

LoadAlpha:
Setzen Sie diesen Tag auf True, wenn der Alpha-Kanal des Bildes auch geladen werden soll. Bitte beachten Sie, dass nicht alle Bilder einen Alpha-Kanal haben und dass nicht alle Bildformate in der Lage sind, Alphakanaldaten zu speichern. Es wird vorgeschlagen, dass Sie das PNG-Format verwenden, wenn Sie Alphakanaldaten benötigen. Dieser Tag ist standardmäßig False. (V4.5)

Link:
Setzen Sie diesen Tag auf False, wenn Sie diesen Pinsel beim Kompilieren nicht in die ausführbare Datei/das Applet einbinden wollen, Dieser Tag ist standardmäßig auf True gesetzt, was bedeutet, dass der Pinsel mit der ausführbaren Datei/dem Applet beim Kompilieren verknüpft wird.

X, Y, Width, Height:
Diese Tags können verwendet werden, um nur einen Teil des Bildes in den Pinsel zu laden. Dies ist nützlich, wenn Sie ein großes Bild mit vielen verschiedenen kleinen Bildern haben und nun die kleinen Bilder in einzelne Pinsel laden wollen. Somit können Sie ein Rechteck innerhalb des Bildes angeben, aus dem Hollywood die Grafikdaten für den Pinsel nimmt.

Hardware:
Wenn Sie diesen Tag auf True setzen, wird Hollywood diesen Pinsel vollständig im Videospeicher für Hardwarezeichnen erstellen und in Verbindung mit einem Hardwaredoppelpuffer das Zeichnen beschleunigt. Hardware-Pinsel unterliegen verschiedenen Einschränkungen. Siehe Hardware-Pinsel für Details. (V5.0)

ScaleWidth, ScaleHeight:
Diese Tags können verwendet werden, um eine skalierte Version des Bildes zu laden. Wenn der Bildtreiber skaliertes Laden unterstützt, kann das die Geschwindigkeit erheblich steigern, wenn Sie zum Beispiel nur eine Version in Thumbnailgröße eines großen Bildes laden möchten. Wenn der Bildtreiber skaliertes Laden nicht unterstützt, wird zuerst das volle Bild geladen, bevor es skaliert wird. Dies ist nicht wesentlich schneller als das Bild nach dem Laden von Hand zu skalieren. Sie können die Größe entweder als direkter Wert übergeben oder Sie benutzen einen Prozentsatz als Zeichenfolge (z.B. Scalewidth = "200%"). (V5.3)

SmoothScale:
Wenn ScaleWidth oder ScaleHeight eingestellt ist, können Sie mit diesem Tag festlegen, ob Hollywood bei der Skalierung Antialiasing verwenden soll oder nicht. Der Standardwert ist False und bedeutet kein Antialiasing. Beachten Sie, dass Skalierung mit Antialiasing viel langsamer ist als die normale Skalierung. (V5.3)

Display:
Wenn Sie hier die ID eines Displays angeben, wird Hollywood einen Displayabhängigen-Hardware-Pinsel für Sie erstellen. Displayabhängige Hardware-Pinsel können nur auf das Display zeichnen, dem sie zugewiesen wurden. Dieser Tag wird nur berücksichtigt, wenn der Tag Hardware auf True gesetzt wurde. Beachten Sie auch, dass Hollywoods eingebautes Display-Adaptermodul keine Displayabhängigen-Hardware-Pinsel unterstützt, aber Plugins können individuelle Display-Adaptermodule installieren, die displayabhängige Hardware-Pinsel unterstützen. Dieser Tag enthält standardmäßig die ID des aktuell aktiven Displays. Siehe Hardware-Pinsel für Details. (V6.0)

Loader:
Mit diesem Tag können Sie ein oder mehrere Formatlademodule angeben, die diesen Pinsel laden sollen. Dies muss als eine Zeichenfolge festgelegt werden, die den/die Namen eines oder mehreren Lademodulen enthält. Standardmäßig wird der mit SetDefaultLoader() eingestellte Lader verwendet. Siehe Lade- und Adaptermodule für Details. (V6.0)

Adapter:
Mit diesem Tag können Sie einen oder mehrere Dateiadapter angeben, die die angegebene Datei öffnen sollen. Dies muss als eine Zeichenfolge festgelegt werden, die den/die Namen eines oder mehreren Adaptermodulen enthält. Standardmäßig wird der mit SetDefaultAdapter() eingestellte Adapter verwendet. Siehe Lade- und Adaptermodule für Details. (V6.0)

LoadTransparency:
Ist dieser Tag auf True gesetzt, wird die monochrome Transparenz des Bildes geladen. Bitte beachten Sie, dass dieser Tag speziell für monochrome Transparenzkanäle ist, das heißt der transparente Stift ist für ein Palettenbasiertes Bild ausgelegt. Wenn Sie den Alpha-Kanal eines Bildes laden möchten, stellen Sie den Tag LoadAlpha auf True. Dieser Tag ist auf False voreingestellt. (V6.0)

LoadPalette:
Wenn dieser Tag auf True gesetzt ist, lädt Hollywood den Pinsel als Palettenpinsel. Dies bedeutet, dass Sie die Palette des Pinsels abrufen und verändern können, was für bestimmte Effekte wie Farbwechsel nützlich ist. Sie können Stifte auch mit dem Tag TransparentPen (siehe unten) oder dem Tag LoadTransparency (siehe oben) transparent machen. Palettenpinsel haben auch den Vorteil, dass sie weniger Speicherplatz benötigen, da 1 Pixel nur 1 Byte Speicher anstelle von 4 Byte für 32-Bit-Bilder benötigt. Dieser Tag ist standardmäßig False. (V9.0)

TransparentPen:
Wenn der Tag LoadPalette auf True gesetzt wurde (siehe oben), kann mit dem Tag TransparentPen ein Stift definiert werden, der transparent gemacht werden soll. Stifte werden ab 0 gezählt. Alternativ können Sie auch den Tag LoadTransparency auf True setzen, um Hollywood zu zwingen, den transparenten Stift zu verwenden, der in der Bilddatei gespeichert ist (sofern das Bildformat die Speicherung von transparenten Stiften unterstützt). Dieser Tag ist standardmäßig #NOPEN. (V9.0)

UserTags:
Dieser Tag kann verwendet werden, um zusätzliche Daten anzugeben, die an Lader und Adapter übergeben werden sollen. Wenn Sie diesen Tag verwenden, müssen Sie ihn auf eine Tabelle mit Schlüssel-Wert-Paaren setzen, die die zusätzlichen Daten enthalten, die an Plugins übergeben werden sollen. Siehe Benutzer-Tags für Details. (V10.0)

Bitte beachten Sie, dass sich die Tags Transparency, LoadTransparency und LoadAlpha gegenseitig ausschließen. Ein Pinsel kann nur eine Transparenzeinstellung haben!

Wenn Sie Pinsel manuell laden möchten, verwenden Sie den Befehl LoadBrush().

Siehe auch CopyBrush(), FreeBrush(), SaveBrush() und MoveBrush().

Eingaben
id
einen Wert, der verwendet wird, um diesen Pinsel später im Code zu identifizieren
filename$
das Bild, welches Sie laden möchten
table
optionales Argument für weitere Optionen
Beispiel
@BRUSH 1, "MyBrush.png"
Lädt "MyBrush.png" als Pinsel 1 ohne Transparenz.


@BRUSH 1, "MyBrush.png", {Transparency = $FF0000}
Ist das Gleiche wie oben, aber der Pinsel ist jetzt transparent (Transparenzfarbe ist Rot = $FF0000).


@BRUSH 1, "Sprites.png", {X = 64, Y = 32, Width = 32, Height = 32}
Lädt einen Ausschnitt von 32x32 Pixel des Bildes "Sprites.png", welcher bei X=64 und Y=32 beginnt.

Navigation zeigen