Palette
Die Palette des Sprites. (21 Funktionen)
app.addColorCycle(fromIndex, toIndex, opts?) — ändert, rückgängig machbar
Fügt einen Farbzyklus-Bereich hinzu (indizierte Sprites): Während der Wiedergabe rotieren die Farben dieses Palettenbereichs. Pixel werden nicht verändert; mit app.bakeColorCycles machst du aus dem Zyklus Paletten pro Frame.
fromIndex(number) — Erster Palettenindex des zyklischen Bereichs.toIndex(number) — Letzter Palettenindex des Bereichs (einschließlich).opts(table, optional)direction(string; Standard "forward") — "forward" schiebt jede Farbe auf den nächsthöheren Index, "reverse" auf den niedrigeren.framesPerStep(integer 1–1000; Standard 1) — Wiedergabe-Frames pro Rotationsschritt.
Gibt zurück (string): Die ID des neuen Zyklus.
app.bakeColorCycles(frames?) — ändert, rückgängig machbar
Backt die Farbzyklen in Paletten pro Frame (bei Bedarf werden Frames hinzugefügt), damit Exporte wie GIF das Zyklieren wiedergeben, und entfernt dann die Zyklen. Nur indizierte Sprites.
frames(number, optional) — Gesamtzahl der Frames der gebackenen Animation (mindestens die aktuelle Anzahl); Standard: ein voller Durchlauf der Zyklen. Frames werden nach dem letzten angehängt.
Gibt nichts zurück.
app.cleanPalette(opts?) — ändert, rückgängig machbar
Bereinigt die Palette: führt doppelte und ähnliche Farben mit ihrem ersten Vorkommen zusammen und entfernt ungenutzte Einträge. Auf indizierten Sprites folgen die Pixel ihren Farben.
opts(table, optional) — { removeDuplicates = bool, removeUnused = bool, mergeDistance = 0-100 (Delta E; ~2 kaum sichtbar, 10 deutlich verschieden), frameId = die in diesem Frame geltende Palette }. Jede Option ist standardmäßig aus.
Gibt nichts zurück.
app.createPaletteChange(frameId, colors?) — ändert, rückgängig machbar
Startet bei einem Frame eine neue Palette: Dieser Frame und die folgenden (bis zum nächsten Palettenwechsel) lösen indizierte Pixel über sie auf. Pixelindizes ändern sich nicht.
frameId(string) — Frame, bei dem die neue Palette beginnt (nicht der erste Frame).colors(table, optional) — Die Palette ab diesem Frame, ein Array von Hex-Farben; Standard: eine Kopie der dort geltenden Palette.
Gibt nichts zurück.
app.createPaletteRamp(from, to, count?, space?, mode?, frameId?) — ändert, rückgängig machbar
Erzeugt eine Farbreihe zwischen zwei Paletteneinträgen (der Palettenverlauf von Aseprite): Standardmäßig überschreibt sie die Einträge dazwischen, oder mit mode "insert" fügt sie neue Farben vor dem späteren Eintrag ein. Auf indizierten Sprites verschiebt ein Einfügen die Pixelindizes, sodass das Bild unverändert bleibt. Ein Rückgängig-Schritt.
from(number) — Palettenindex des einen Endes der Farbreihe (ab 0).to(number) — Palettenindex des anderen Endes (ab 0).count(number, optional) — Wie viele Farben dazwischen eingefügt werden (1-256). Erforderlich für mode "insert"; "replace" füllt jeden Eintrag zwischen den Enden und ignoriert die Angabe.space(string, optional) — Interpolationsraum: "oklab" (Standard, wahrnehmungsgleichmäßig), "oklch", "rgb" oder "hsl".mode(string, optional) — "replace" überschreibt die Einträge zwischen den beiden Enden mit der Farbreihe (der Palettenverlauf von Aseprite; Pixel bleiben unberührt); "insert" fügtcountneue Farben vor dem späteren Ende ein. Standard: "replace", wenn Einträge zwischen den Enden liegen, sonst "insert".frameId(string, optional) — Bearbeite die Palette, die bei diesem Frame gilt (Paletten können sich pro Frame ändern); Standard: die Palette des ersten Frames. Auf indizierten Sprites verschiebt "insert" nur die Pixel der Frames, die diese Palette teilen.
Gibt nichts zurück.
app.getColorCycles() — liest
Die Farbzyklus-Bereiche eines indizierten Sprites: jeweils { id, fromIndex, toIndex, direction, framesPerStep }.
Gibt zurück (table): Array von Farbzyklus-Tabellen.
app.getPalette(frameId?) — liest
Die Palette als Array von Hex-Farbstrings, "#rrggbb" oder, für Einträge mit Alpha unter 255, "#rrggbbaa", z. B. { "#ff0000", "#00ff0080", ... }. Übergib eine Frame-ID für die Palette dieses Frames.
frameId(string, optional) — Frame, dessen Palette gelesen wird (Paletten können sich pro Frame ändern); weggelassen = die Palette des ersten Frames.
Gibt zurück (table): Array von Hex-Farbstrings.
app.insertPaletteEntries(index, colors, frameId?) — ändert, rückgängig machbar
Fügt an einem Index Paletteneinträge ein. Auf indizierten Sprites folgt jedes Pixel (und der transparente Index) seinem Eintrag, sodass das Bild unverändert bleibt.
index(number) — Wo der erste neue Eintrag hinkommt (ab 0; die Länge der Palette hängt an).colors(table) — Array von Hex-Farbstrings, "#rrggbb" oder "#rrggbbaa", z. B. { "#ff0000", "#00ff0080" }.frameId(string, optional) — Bearbeite die Palette, die bei diesem Frame gilt (Paletten können sich pro Frame ändern); Standard: die Palette des ersten Frames.
Gibt nichts zurück.
app.movePaletteEntry(fromIndex, toIndex, frameId?) — ändert, rückgängig machbar
Verschiebt einen Paletteneintrag an eine neue Position. Auf indizierten Sprites folgt jedes Pixel seiner Farbe, sodass das Bild unverändert bleibt.
fromIndex(number) — Aktueller Palettenindex (ab 0).toIndex(number) — Index, an dem der Eintrag landen soll (ab 0).frameId(string, optional) — Bearbeite die Palette, die bei diesem Frame gilt (Paletten können sich pro Frame ändern); Standard: die Palette des ersten Frames.
Gibt nichts zurück.
app.remapColors(mappings, cels) — ändert, rückgängig machbar, wird auf einer gesperrten Ebene abgelehnt
Ersetzt exakte Farben durch andere Farben über eine Menge von Cels: das Ersetzen des Paletten-Checks. RGBA- und Graustufen-Sprites.
mappings(table) — Array von { from = "#rrggbb", to = "#rrggbb" } (beide dürfen Alpha tragen, "#rrggbbaa"); alle Zuordnungen gelten auf einmal.cels(table) — Array von { layerId = ..., frameId = ... }: die Cels, die umgefärbt werden (Bildebenen).
Gibt nichts zurück.
app.removeColorCycle(cycleId) — ändert, rückgängig machbar
Entfernt einen Farbzyklus.
cycleId(string)
Gibt nichts zurück.
app.removePaletteChange(frameId) — ändert, rückgängig machbar
Entfernt den Palettenwechsel bei einem Frame, sodass er wieder die Palette davor verwendet. Pixelindizes ändern sich nicht.
frameId(string) — Frame, dessen Palettenwechsel entfernt wird.
Gibt nichts zurück.
app.removePaletteEntries(indices, frameId?) — ändert, rückgängig machbar
Entfernt Paletteneinträge anhand ihres Index. Auf indizierten Sprites werden die Pixel der entfernten Einträge transparent, und jedes andere Pixel (und der transparente Index) folgt seinem Eintrag.
indices(table) — Array der zu entfernenden Palettenindizes (ab 0), z. B. { 3 } oder { 4, 5, 6 }.frameId(string, optional) — Bearbeite die Palette, die bei diesem Frame gilt (Paletten können sich pro Frame ändern); Standard: die Palette des ersten Frames.
Gibt nichts zurück.
app.setColorDepth(depth?) — ändert, rückgängig machbar
Bindet den Sprite an eine Farbtiefe, wie eine Konsole, die nur bestimmte Werte zeigen kann: Pixel, Tiles und Paletten werden jetzt darauf zurückgeführt (ein Rückgängig-Schritt), und alles, was danach gezeichnet wird, bleibt darauf. nil entfernt sie (die verlorene Genauigkeit kommt nicht zurück). Lies sie mit app.getSprite().colorDepth aus.
depth(table, optional) — Die Farbtiefe als Stufen pro Kanal, oder nil, um sie zu entfernen. n Bit sind 2^n Stufen (3 Bit = 8).red(integer 2–256) — Stufen von Rot (mit green und blue).green(integer 2–256) — Stufen von Grün.blue(integer 2–256) — Stufen von Blau.gray(integer 2–256) — Graustufen statt Rot, Grün und Blau: Jede Farbe wird zu einem Grau.profile(string) — Die ID des Hardware-Profils, für das sie steht (z. B. "mega-drive"), im Editor angezeigt.
Gibt nichts zurück.
app.setPalette(colors, frameId?) — ändert, rückgängig machbar
Ersetzt die gesamte Palette des Sprites Slot für Slot. Auf indizierten Sprites behält jedes Pixel seinen Index und zeigt dort die neue Farbe (eine kürzere Palette wird mit den alten Farben der noch genutzten Slots aufgefüllt). Um Farben hinzuzufügen oder zu entfernen, sodass die Pixel mitwandern, nimm app.insertPaletteEntries / app.removePaletteEntries.
colors(table) — Array von Hex-Farbstrings, "#rrggbb" oder "#rrggbbaa" (Alpha), z. B. { "#ff0000", "#00ff0080" }.frameId(string, optional) — Bearbeite die Palette, die bei diesem Frame gilt (Paletten können sich pro Frame ändern); Standard: die Palette des ersten Frames.
Gibt nichts zurück.
app.setPaletteEntry(index, color, frameId?) — ändert, rückgängig machbar
Färbt einen Paletteneintrag an Ort und Stelle um. Auf indizierten Sprites zeigt jedes Pixel, das diesen Eintrag nutzt, die neue Farbe.
index(number) — Paletteneintrag, der umgefärbt wird (ab 0).color(string) — Hex-Farbe, "#rrggbb" (deckend) oder "#rrggbbaa" (mit Alpha), z. B. "#ff0000" oder "#ff000080".frameId(string, optional) — Bearbeite die Palette, die bei diesem Frame gilt (Paletten können sich pro Frame ändern); Standard: die Palette des ersten Frames.
Gibt nichts zurück.
app.setPaletteGroups(groups) — ändert, rückgängig machbar
Ersetzt die Palettengruppen: benannte Beschriftungen über Palettenindex-Bereichen. Sie beschriften Slots, daher wandert eine Gruppe nicht mit, wenn du Farben verschiebst oder sortierst.
groups(table) — Array von { name = "Skin", from = 0, to = 3 } (Palettenindizes ab 0, einschließlich), nach from sortiert und ohne Überlappung. {} entfernt jede Gruppe.
Gibt nichts zurück.
app.setPaletteLock(locked) — ändert, rückgängig machbar
Schaltet die Palettensperre ein oder aus. Nur RGBA-Sprites (indizierte Sprites malen immer Palettenfarben); wird mit der Datei gespeichert.
locked(boolean) — true: Jeder Zeichenbefehl auf einem RGBA-Sprite rastet die Pixel, die er malt, auf die nächste Palettenfarbe ein.
Gibt nichts zurück.
app.setTransparentIndex(index) — ändert, rückgängig machbar
Setzt den Index der transparenten Farbe des indizierten Sprites (Aseprites Sprite-Eigenschaften > Transparente Farbe). Nur die Eigenschaft ändert sich, nicht die Pixel-Bytes.
index(number) — Palettenindex (0-255), dessen Pixel auf indizierten Sprites transparent sind (Standard 0).
Gibt nichts zurück.
app.sortPalette(by, descending?, from?, to?, frameId?) — ändert, rückgängig machbar
Sortiert die Palette (oder den Bereich from..to) nach einer Farbeigenschaft, in der Reihenfolge der Palettensortierung von Aseprite: vollständig transparente Einträge zuerst, in beiden Richtungen; bei hue kommen Grautöne aufsteigend zuerst (nach value), absteigend zuletzt; hue, saturation und brightness vergleichen ganze Grad und Prozent (saturation bei Gleichstand nach brightness und umgekehrt); luminance gewichtet die quadrierten Kanäle. Übrige Gleichstände behalten ihre Reihenfolge. Auf indizierten Sprites folgt jedes Pixel seiner Farbe, sodass das Bild unverändert bleibt.
by(string) — Sortierschlüssel: "hue", "saturation", "brightness", "luminance", "red", "green", "blue" oder "alpha".descending(boolean, optional) — Von hoch nach niedrig sortieren (Standard false).from(number, optional) — Erster zu sortierender Palettenindex (ab 0, Standard 0).to(number, optional) — Letzter zu sortierender Palettenindex (einschließlich, Standard: der letzte).frameId(string, optional) — Bearbeite die Palette, die bei diesem Frame gilt (Paletten können sich pro Frame ändern); Standard: die Palette des ersten Frames.
Gibt nichts zurück.
app.updateColorCycle(cycleId, props?) — ändert, rückgängig machbar
Ändert Bereich, Richtung oder Geschwindigkeit eines Farbzyklus.
cycleId(string)props(table, optional)fromIndex(integer 0–255) — Erster Palettenindex des Bereichs.toIndex(integer 0–255) — Letzter Palettenindex des Bereichs (einschließlich).direction(string) — "forward" oder "reverse".framesPerStep(integer 1–1000) — Wiedergabe-Frames pro Rotationsschritt.
Gibt nichts zurück.
Als Markdown: palette.md.