SetPalette(id[, t])
id angegebenen Palette. Standardmäßig
ist die Palette des aktuellen Displays die aktive Palette, aber
natürlich nur, wenn das aktuelle Display ein Palettenmodus-Display
ist. Siehe Palettenmodus-Displays für Details. Mit dem Befehl
SelectPalette() kann eine Palette aktiviert
werden.
Alternativ kann die in id angegebene Palette auch auf andere
Objekte kopiert werden. Dazu müssen Sie das optionale Tabellenargument
an SetPalette() übergeben und den Typ im Tag Type und den Identifikator
im Tag ID festlegen. Gehen Sie beispielsweise wie folgt vor,
um Pinsel 2 die Palette 1 zuzuweisen:
SetPalette(1, {Type = #BRUSH, ID = 2})
|
Die folgenden Tags werden durch das optionale Tabellenargument
t unterstützt:
Type:
#ANIM #BGPIC #BRUSH #DISPLAY #LAYER #PALETTE #SPRITE |
Beachten Sie, dass Sie bei Verwendung der Typen #ANIM oder #SPRITE
auch den Tag Frame (siehe unten) setzen müssen, um das Einzelbild
anzugeben, dessen Pixeldaten verwendet werden sollen. Wenn Sie
#LAYER verwenden und die angegebene Ebene eine Animationsebene
ist, müssen Sie auch den Tag Frame setzen.
Type ist standardmäßig der Typ der aktuell aktiven Palette,
die mit dem Befehl SelectPalette() gewählt
wurde. Siehe SelectPalette für Details.
ID:
Frame:
Remap:True gesetzt ist, werden die Farben des Zielobjekts
neu zugeordnet, um den Farben in der Quellpalette so genau wie
möglich zu entsprechen. Standardmäßig erfolgt keine Neuzuordnung
und die tatsächlichen Pixeldaten des Zielobjekts bleiben unberührt.
Wenn Sie eine Neuzuordnung wünschen, setzen Sie diesen Tag auf
True. Beachten Sie jedoch, dass die Neuzuordnung aller Pixel
natürlich viel länger dauert als das Festlegen einer neuen Palette
ohne Neuzuordnung. Der Standardwert ist False.
Dither:Remap (siehe oben) auf True gesetzt wurde, können
Sie mit dem Tag Dither angeben, ob Dithering verwendet werden
soll oder nicht. Der Standardwert ist True, was bedeutet, Dithering
wird verwendet.
CopyCycleTable:True setzen, wird diese Wechseltabelle
auch in das Zielobjekt kopiert. Der Standardwert ist False.
@DISPLAY {Palette = #PALETTE_MONOCHROME}
SetFillStyle(#FILLCOLOR)
SetPaletteMode(#PALETTEMODE_PEN)
SetDrawPen(1)
Box(#CENTER, #CENTER, 320, 240)
WaitLeftMouse
CreatePalette(1, {#WHITE, #BLACK}, {Depth = 1})
SetPalette(1)
Der obige Code erstellt eine monochrome Palettendarstellung mit
einem schwarzen Hintergrund und einem weißen Rechteck in der
Mitte. Nach einem Mausklick werden die Farben des Hintergrunds
und des weißen Rechtecks vertauscht, indem eine neue Palette
festgelegt wird, die in Stift 0 Weiß anstelle von Schwarz und
in Stift 1 Schwarz anstelle von Weiß verwendet.