[id] = PenArrayToBrush(id, table, width, height[, t])
table
angegebenen Feld von Stiften. Die Tabelle kann als eine
Matrix angesehen werden, die in height
die Anzahl der Zeilen
enthält und in width
die Anzahl der Elemente, die nacheinander
gespeichert werden. Die Reihenfolge der Stiftdaten in dieser
Tabelle muss wie folgt sein: Zeile für Zeile von oben nach unten,
d.h. die Tabelle beginnt mit der ersten Reihe von Stiften. Jede
Zeile muss genau die Anzahl der Stifte in width
und die Anzahl
der Zeilen in height
enthalten. Die Tabelle muss eindimensional
sein, d.h. sie darf keine Untertabellen für die einzelnen Zeilen
verwenden, sondern nur die Stiftwerte nacheinander speichern.
Die Palette, die die Stifte verwenden sollen, kann im optionalen
Tabellenargument t
festgelegt werden. Die folgenden Tabellenelemente
werden derzeit erkannt:
Palette:
TransparentPen:
#NOPEN
, was ebenfalls die
Standardeinstellung ist.
Bitte beachten Sie, dass die Tabelle, die Sie an diesen Befehl übergeben, normalerweise viel Speicherplatz beansprucht. Daher sollten Sie diese Tabelle auf Nil setzen, sobald Sie sie nicht mehr benötigen. Andernfalls verschwenden Sie sehr viel Speicher und es kann sogar vorkommen, dass Ihrem Skript der Speicherplatz ausgeht. Denken Sie also daran, dass Sie Pixelfeld-Tabellen immer auf Nil setzen sollten, sobald Sie sie nicht mehr benötigen.
Um einen Palettenpinsel in ein Stiftfeld umzuwandeln, können Sie den Befehl BrushToPenArray() verwenden. Siehe BrushToPenArray für Details.
Siehe auch BrushToRGBArray() und RGBArrayToBrush().
pixels = {} For Local y = 0 To 479 For Local x = 0 To 639 Do pixels[y * 640 + x] = y \ 2 Next PenArrayToBrush(1, pixels, 640, 480, {Palette = #PALETTE_AGA}) pixels = Nil ; WICHTIG: Speicher freigeben! DisplayBrush(1, 0, 0)Der obige Code erstellt einen Palettenpinsel, der die ersten 240 Stifte aus der Standardpalette
#PALETTE_AGA
enthält. Jeder
Palettenstift verwendet zwei Zeilen. Wichtig: Vergessen Sie
nicht, das Pixelfeld auf Nil zu setzen,
wenn Sie es nicht mehr benötigen, da es sonst im Speicher bleibt
und Pixelfelder sehr viel Speicher verbrauchen!