Paleta

La paleta del sprite. (21 funciones)

app.addColorCycle(fromIndex, toIndex, opts?) — modifica, deshacible

Añade un rango de ciclo de color (sprites indexados): durante la reproducción, los colores de ese rango de la paleta rotan. Los píxeles no cambian; usa app.bakeColorCycles para convertir el ciclo en paletas por fotograma.

  • fromIndex (number) — Primer índice de paleta del rango del ciclo.
  • toIndex (number) — Último índice de paleta del rango (inclusivo).
  • opts (table, opcional)
    • direction (string; predeterminado "forward") — "forward" mueve cada color al siguiente índice mayor, "reverse" al menor.
    • framesPerStep (integer 1–1000; predeterminado 1) — Fotogramas de reproducción por cada rotación de un paso.

Devuelve (string): El id del nuevo ciclo.

app.bakeColorCycles(frames?) — modifica, deshacible

Fija los ciclos de color en paletas por fotograma (añadiendo fotogramas si hace falta) para que exportaciones como GIF reproduzcan el ciclo, y después elimina los ciclos. Solo sprites indexados.

  • frames (number, opcional) — Total de fotogramas de la animación fijada (al menos el número actual); por defecto: un bucle completo de los ciclos. Los fotogramas se añaden después del último.

No devuelve nada.

app.cleanPalette(opts?) — modifica, deshacible

Limpia la paleta: fusiona los colores duplicados y similares en su primera aparición y elimina las entradas sin usar. En sprites indexados los píxeles siguen a sus colores.

  • opts (table, opcional) — { removeDuplicates = bool, removeUnused = bool, mergeDistance = 0-100 (delta E; ~2 apenas se nota, 10 es claramente distinto), frameId = paleta vigente en ese fotograma }. Todas las opciones están desactivadas por defecto.

No devuelve nada.

app.createPaletteChange(frameId, colors?) — modifica, deshacible

Inicia una paleta nueva en un fotograma: ese fotograma y los siguientes (hasta el próximo cambio) resuelven los píxeles indexados a través de ella. Los índices de los píxeles no cambian.

  • frameId (string) — Fotograma en el que empieza la nueva paleta (no el primero).
  • colors (table, opcional) — La paleta a partir de ese fotograma, un array de colores hex; por defecto: una copia de la paleta vigente allí.

No devuelve nada.

app.createPaletteRamp(from, to, count?, space?, mode?, frameId?) — modifica, deshacible

Genera una rampa de colores entre dos entradas de la paleta (el Degradado de la paleta de Aseprite): por defecto sobrescribe las entradas intermedias, o con el modo "insert" inserta colores nuevos antes de la entrada posterior. En sprites indexados una inserción desplaza los índices de los píxeles para que la imagen no cambie. Un solo paso de deshacer.

  • from (number) — Índice de paleta de un extremo de la rampa (desde 0).
  • to (number) — Índice de paleta del otro extremo (desde 0).
  • count (number, opcional) — Cuántos colores insertar entre ellos (1-256). Obligatorio para el modo "insert"; "replace" rellena todas las entradas entre los extremos y lo ignora.
  • space (string, opcional) — Espacio de interpolación: "oklab" (por defecto, perceptualmente uniforme), "oklch", "rgb" o "hsl".
  • mode (string, opcional) — "replace" sobrescribe las entradas entre los dos extremos con la rampa (el Degradado de la paleta de Aseprite; los píxeles no se tocan); "insert" añade count colores nuevos antes del extremo posterior. Por defecto: "replace" cuando hay entradas entre los extremos, de lo contrario "insert".
  • frameId (string, opcional) — Edita la paleta vigente en este fotograma (las paletas pueden cambiar por fotograma); por defecto: la paleta del primer fotograma. En sprites indexados "insert" solo desplaza los píxeles de los fotogramas que comparten esa paleta.

No devuelve nada.

app.getColorCycles() — lee

Los rangos de ciclo de color de un sprite indexado: cada uno como { id, fromIndex, toIndex, direction, framesPerStep }.

Devuelve (table): Array de tablas de ciclo de color.

app.getPalette(frameId?) — lee

La paleta como un array de cadenas de color hex, "#rrggbb" o, para entradas con alfa inferior a 255, "#rrggbbaa", p. ej. { "#ff0000", "#00ff0080", ... }. Pasa un id de fotograma para obtener la paleta de ese fotograma.

  • frameId (string, opcional) — Fotograma cuya paleta se lee (las paletas pueden cambiar por fotograma); omítelo para la paleta del primer fotograma.

Devuelve (table): Array de cadenas de color hex.

app.insertPaletteEntries(index, colors, frameId?) — modifica, deshacible

Inserta entradas de paleta en un índice. En sprites indexados cada píxel (y el índice transparente) sigue a su entrada, así que la imagen no cambia.

  • index (number) — Dónde va la primera entrada nueva (desde 0; la longitud de la paleta añade al final).
  • colors (table) — Array de cadenas de color hex, "#rrggbb" o "#rrggbbaa", p. ej. { "#ff0000", "#00ff0080" }.
  • frameId (string, opcional) — Edita la paleta vigente en este fotograma (las paletas pueden cambiar por fotograma); por defecto: la paleta del primer fotograma.

No devuelve nada.

app.movePaletteEntry(fromIndex, toIndex, frameId?) — modifica, deshacible

Mueve una entrada de la paleta a una nueva posición. En sprites indexados cada píxel sigue a su color, así que la imagen no cambia.

  • fromIndex (number) — Índice de paleta actual (desde 0).
  • toIndex (number) — Índice en el que debe quedar la entrada (desde 0).
  • frameId (string, opcional) — Edita la paleta vigente en este fotograma (las paletas pueden cambiar por fotograma); por defecto: la paleta del primer fotograma.

No devuelve nada.

app.remapColors(mappings, cels) — modifica, deshacible, se rechaza en una capa bloqueada

Reemplaza colores exactos por otros colores en un conjunto de celdas: el remapeo de la Auditoría de paleta. Sprites RGBA y en escala de grises.

  • mappings (table) — Array de { from = "#rrggbb", to = "#rrggbb" } (cualquiera puede llevar alfa, "#rrggbbaa"); todas las asignaciones se aplican a la vez.
  • cels (table) — Array de { layerId = ..., frameId = ... }: las celdas que se recolorean (capas de imagen).

No devuelve nada.

app.removeColorCycle(cycleId) — modifica, deshacible

Elimina un ciclo de color.

  • cycleId (string)

No devuelve nada.

app.removePaletteChange(frameId) — modifica, deshacible

Elimina el cambio de paleta en un fotograma, de modo que vuelve a usar la paleta anterior. Los índices de los píxeles no cambian.

  • frameId (string) — Fotograma cuyo cambio de paleta se elimina.

No devuelve nada.

app.removePaletteEntries(indices, frameId?) — modifica, deshacible

Elimina entradas de la paleta por índice. En sprites indexados los píxeles de las entradas eliminadas pasan a ser transparentes y todos los demás píxeles (y el índice transparente) siguen a su entrada.

  • indices (table) — Array de los índices de paleta que se eliminarán (desde 0), p. ej. { 3 } o { 4, 5, 6 }.
  • frameId (string, opcional) — Edita la paleta vigente en este fotograma (las paletas pueden cambiar por fotograma); por defecto: la paleta del primer fotograma.

No devuelve nada.

app.setColorDepth(depth?) — modifica, deshacible

Fija el sprite a una profundidad de color, como una consola que solo puede mostrar ciertos valores: los píxeles, los tiles y las paletas se ajustan a ella ahora (un solo paso de deshacer) y todo lo que se dibuje después se queda en ella. nil la quita (la precisión perdida no vuelve). Léela con app.getSprite().colorDepth.

  • depth (table, opcional) — La profundidad de color en niveles por canal, o nil para quitarla. n bits son 2^n niveles (3 bits = 8).
    • red (integer 2–256) — Niveles de rojo (con green y blue).
    • green (integer 2–256) — Niveles de verde.
    • blue (integer 2–256) — Niveles de azul.
    • gray (integer 2–256) — Niveles de gris, en lugar de rojo, verde y azul: cada color se vuelve un gris.
    • profile (string) — El id del perfil de hardware que representa (p. ej., "mega-drive"), que se muestra en el editor.

No devuelve nada.

app.setPalette(colors, frameId?) — modifica, deshacible

Reemplaza toda la paleta del sprite ranura por ranura. En sprites indexados cada píxel conserva su índice y muestra el nuevo color en él (una paleta más corta se completa con los colores antiguos de las ranuras aún en uso). Para añadir o quitar colores con los píxeles siguiéndolos, usa app.insertPaletteEntries / app.removePaletteEntries.

  • colors (table) — Array de cadenas de color hex, "#rrggbb" o "#rrggbbaa" (alfa), p. ej. { "#ff0000", "#00ff0080" }.
  • frameId (string, opcional) — Edita la paleta vigente en este fotograma (las paletas pueden cambiar por fotograma); por defecto: la paleta del primer fotograma.

No devuelve nada.

app.setPaletteEntry(index, color, frameId?) — modifica, deshacible

Recolorea una entrada de la paleta en su lugar. En sprites indexados, todos los píxeles que usan esa entrada muestran el nuevo color.

  • index (number) — Entrada de la paleta que se recolorea (desde 0).
  • color (string) — Color hex, "#rrggbb" (opaco) o "#rrggbbaa" (con alfa), p. ej. "#ff0000" o "#ff000080".
  • frameId (string, opcional) — Edita la paleta vigente en este fotograma (las paletas pueden cambiar por fotograma); por defecto: la paleta del primer fotograma.

No devuelve nada.

app.setPaletteGroups(groups) — modifica, deshacible

Reemplaza los grupos de paleta: etiquetas con nombre sobre rangos de índices de paleta. Etiquetan ranuras, así que mover u ordenar colores no mueve un grupo.

  • groups (table) — Array de { name = "Skin", from = 0, to = 3 } (índices de paleta inclusivos desde 0), ordenado por from y sin solapamientos. {} elimina todos los grupos.

No devuelve nada.

app.setPaletteLock(locked) — modifica, deshacible

Activa o desactiva el bloqueo de paleta. Solo sprites RGBA (los sprites indexados siempre pintan con colores de la paleta); se guarda con el archivo.

  • locked (boolean) — true: cada comando de dibujo en un sprite RGBA ajusta los píxeles que pinta al color de paleta más cercano.

No devuelve nada.

app.setTransparentIndex(index) — modifica, deshacible

Establece el índice del color transparente del sprite indexado (Propiedades del sprite > Color transparente de Aseprite). Solo cambia la propiedad, no los bytes de los píxeles.

  • index (number) — Índice de paleta (0-255) cuyos píxeles son transparentes en sprites indexados (por defecto 0).

No devuelve nada.

app.sortPalette(by, descending?, from?, to?, frameId?) — modifica, deshacible

Ordena la paleta (o el rango from..to) por una propiedad de color, con el orden del ordenamiento de paleta de Aseprite: las entradas totalmente transparentes primero en cualquier dirección; hue pone los grises primero (por valor) en orden ascendente y al final en descendente; hue, saturation y brightness comparan grados y porcentajes enteros (saturation desempata por brightness y al revés); luminance pondera los canales al cuadrado. Los demás empates conservan su orden. En sprites indexados cada píxel sigue a su color, así que la imagen no cambia.

  • by (string) — Clave de orden: "hue", "saturation", "brightness", "luminance", "red", "green", "blue" o "alpha".
  • descending (boolean, opcional) — Ordena de mayor a menor (por defecto false).
  • from (number, opcional) — Primer índice de paleta que se ordena (desde 0, por defecto 0).
  • to (number, opcional) — Último índice de paleta que se ordena (inclusivo, por defecto: el último).
  • frameId (string, opcional) — Edita la paleta vigente en este fotograma (las paletas pueden cambiar por fotograma); por defecto: la paleta del primer fotograma.

No devuelve nada.

app.updateColorCycle(cycleId, props?) — modifica, deshacible

Cambia el rango, la dirección o la velocidad de un ciclo de color.

  • cycleId (string)
  • props (table, opcional)
    • fromIndex (integer 0–255) — Primer índice de paleta del rango.
    • toIndex (integer 0–255) — Último índice de paleta del rango (inclusivo).
    • direction (string) — "forward" o "reverse".
    • framesPerStep (integer 1–1000) — Fotogramas de reproducción por cada rotación de un paso.

No devuelve nada.

En Markdown: palette.md.