Bezeichnung
CreatePalette -- erstellt eine neue Palette (V9.0)
Übersicht
[id] = CreatePalette(id[, data, t])
Beschreibung
Dieser Befehl erstellt eine neue Palette und weist ihr den Identifikator id zu. Das Argument data kann entweder eine Tabelle mit einer Anzahl von Farben sein, die zur Initialisierung der Stifte der Palette verwendet werden sollen, oder Sie können data auf einen von Hollywoods vordefinierten Palettentypen setzen. Siehe unten für alle vordefinierten Palettentypen, die von Hollywood unterstützt werden. Wenn Sie Nil im Argument id übergeben, wählt CreatePalette() automatisch einen Identifikator für die neue Palette aus und gibt ihn an Sie zurück.

Die folgenden vordefinierten Palettentypen werden von Hollywood unterstützt:

#PALETTE_MONOCHROME:
Zweifarbige Schwarz-Weiß-Palette.

#PALETTE_GRAY4:
4-Farben-Graustufen-Palette.

#PALETTE_GRAY8:
8-Farben-Graustufen-Palette.

#PALETTE_GRAY16:
16-Farben-Graustufen-Palette.

#PALETTE_GRAY32:
32-Farben-Graustufen-Palette.

#PALETTE_GRAY64:
64-Farben-Graustufen-Palette.

#PALETTE_GRAY128:
128-Farben-Graustufen-Palette.

#PALETTE_GRAY256:
256-Farben-Graustufen-Palette.

#PALETTE_CGA:
Standard-CGA-Palette (16 Farben).

#PALETTE_OCS:
Standard-OCS-Palette (32 Farben).

#PALETTE_EGA:
Standard-EGA-Palette (64 Farben).

#PALETTE_AGA:
Standard-AGA-Palette (256 Farben).

#PALETTE_WORKBENCH:
Standard-Palette der klassischen Amiga Workbench (256 Farben).

#PALETTE_MACINTOSH:
Standardmäßige klassische Macintosh-Palette (256 Farben).

#PALETTE_WINDOWS:
Standardmäßige klassische Windows-Palette (256 Farben).

#PALETTE_DEFAULT:
Gleich wie #PALETTE_AGA. Wenn Sie das Argument data weglassen, wird CreatePalette() die neue Palette mit den Stiften aus #PALETTE_DEFAULT initialisieren.

Wenn Sie im Argument data eine Tabelle mit Farben übergeben, stellen Sie sicher, dass alle Farben als RGB-Werte übergeben werden. Beachten Sie, dass die Tabelle auch ein spärliches Array sein kann, bei dem nur die Stifte initialisiert sind, die Sie tatsächlich benötigen. Stifte, die nicht in der Tabelle data enthalten sind, werden auf Schwarz initialisiert. Ein Beispiel finden Sie weiter unten.

Mit dem optionalen Tabellenargument t können weitere Optionen angegeben werden. Folgende Optionen können Sie verwenden:

Depth:
Die gewünschte Farbtiefe für die Palette. Diese muss zwischen 1 (= 2 Farben) und 8 (= 256 Farben) liegen. Der Standardwert ist 8. Wenn Depth mehr Farben angibt, als Sie in der Tabelle im Parameter data übergeben, werden die verbleibenden Farben auf Schwarz initialisiert. Dieser Tag wird nur verwendet, wenn Sie eine Tabelle im Argument data übergeben. Wenn Sie in data einen vordefinierten Palettentyp übergeben, hat die Farbtiefe des vordefinierten Palettentyps Vorrang vor der hier angegebenen Farbtiefe.

TransparentPen:
Mit diesem Tag kann der Stift angegeben werden, der in der Palette transparent sein soll. Der Standardwert ist #NOPEN, was bedeutet, dass kein Stift transparent sein wird.

Cycle:
Mit diesem Tag können mehrere Farbbereiche definiert werden, die durchlaufen werden können. Wenn diese Option gesetzt ist, müssen Sie eine Tabelle mit Untertabellen an Cycle übergeben, wobei jede Untertabelle eine Konfiguration eines Farbzykluseffekts beschreibt. Jede Untertabelle unterstützt die folgenden Tags:

Low:
Der Stiftindex, der den Beginn des Farbbereichs markiert.

High:
Der Stiftindex, der das Ende des Farbbereichs markiert.

Rate:
Die gewünschte Geschwindigkeit des Farbwechseleffekts. Ein Wert von 16384 gibt 60 Bilder pro Sekunde an. Alle anderen Geschwindigkeiten skalieren linear von dieser Basis, z.B. bedeutet ein Wert von 8192 30 Bilder pro Sekunde usw.

Reverse:
Wenn dieser Tag auf True gesetzt ist, werden die Farben in umgekehrter Reihenfolge durchlaufen. Der Standardwert ist False.

Active:
Wenn dieser Tag auf False gesetzt ist, wird der Farbbereich als inaktiv markiert. Voreingestellt ist True.

Eingaben
id
ID für die neue Palette oder Nil für die automatische ID-Zuweisung
data
optional: entweder einer der vordefinierten Palettentypen (siehe oben) oder eine Tabelle mit einem Array von Farben (Voreingestellt ist #PALETTE_DEFAULT)
t
optional: Tabelle mit weiterern Optionen (siehe oben)
Rückgabewerte
id
optional: Identifikator der Palette; wird nur zurückgegeben, wenn Sie beim Argument id Nil angegeben haben.
Beispiel
CreatePalette(1, {#RED, #GREEN, #BLUE}, {Depth = 2})
Mit dem obigen Code wird eine Palette mit vier Farben erstellt, die auf Rot, Grün, Blau und Schwarz initialisiert sind.


CreatePalette(1, {[0] = #RED, [127] = #BLUE, [255] = #GREEN})
Der obige Code erstellt eine neue Palette mit 256 Farben und initialisiert Stift 0 auf Rot, Stift 127 auf Blau und den letzten Stift auf Grün. Alle anderen Stifte werden auf Schwarz initialisiert.


CreatePalette(1)
Erzeugt eine neue Palette und initialisiert ihre Farben auf die von #PALETTE_DEFAULT.


CreatePalette(1, #PALETTE_CGA)
Erstellt eine neue Palette mit den CGA-Farben.

Navigation zeigen