Selección
Las formas de selección se combinan con la selección actual (reemplazar, añadir, restar, intersecar). La máscara de selección se puede leer y escribir. (19 funciones)
app.canReselect() — lee
Indica si app.reselect() tiene una selección anterior que restaurar.
Devuelve (boolean): true si la hay.
app.deselect() — modifica
Borra la selección (Selección ▸ Deseleccionar); los comandos de dibujo pintan entonces en cualquier lugar. app.reselect() la recupera.
No devuelve nada.
app.enterQuickMask() — modifica, deshacible
Activa la máscara rápida: la selección se convierte en una máscara que pintas, y no queda nada seleccionado. Mientras está activa, las funciones de dibujo pintan la máscara cuando les pasas "quickMask" como layerId y frameId (cualquier color añade, la pintura transparente quita); todo lo demás que cambiaría el sprite se rechaza hasta app.exitQuickMask().
No devuelve nada.
app.exitQuickMask() — modifica, deshacible
Desactiva la máscara rápida: cada píxel de la máscara con la mitad de opacidad o más pasa a ser la selección.
No devuelve nada.
app.getSelection() — lee
La selección actual como { x, y, width, height, mask }, o nil si no hay nada seleccionado. mask es una lista plana de 0/1 sobre los límites (por filas: (px, py) en el índice py*width + px + 1); se incluye cuando los límites contienen como máximo 262144 píxeles; para selecciones mayores, léela por partes con app.getSelectionMask.
Devuelve (table): Tabla de selección o nil.
app.getSelectionBounds() — lee
Los { x, y, width, height } de la selección actual, o nil si no hay nada seleccionado.
Devuelve (table): { x, y, width, height } o nil.
app.getSelectionMask(x, y, width, height) — lee
Qué píxeles de un rectángulo en coordenadas del sprite están seleccionados, como una lista plana de 0/1 (por filas: (px, py) en el índice py*width + px + 1). Todo 0 si no hay nada seleccionado. Como máximo 262144 píxeles por llamada.
x(number)y(number)width(number)height(number)
Devuelve (table): Lista plana de 0/1.
app.isSelected(x, y) — lee
Indica si el píxel (x, y) del sprite está dentro de la selección actual (false si no hay nada seleccionado).
x(number)y(number)
Devuelve (boolean): true si está seleccionado.
app.magicWand(layerId, frameId, points, opts?) — modifica, deshacible
Selecciona los píxeles que coinciden con el color bajo cada punto de una capa, con todas las regiones en una sola selección, exactamente como la varita mágica de la interfaz (un clic o un arrastre).
layerId(string)frameId(string)points(table) — Lista de puntos { x = n, y = n } (o { n, n }), de 1 a 1024: { { x = 3, y = 4 } } selecciona una región, como un clic; con varios, la región de cada punto entra en una sola selección, como un arrastre.opts(table, opcional)mode(SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; predeterminado "replace") — Cómo se combina la nueva forma con la selección actual.tolerance(integer 0–255; predeterminado context.wandTolerance) — La mayor diferencia de color por canal que aún cuenta como coincidencia.contiguous(boolean; predeterminado context.wandFillMode (true para el modo contiguo del contexto, false para global)) — Solo la región conectada (true), o todos los píxeles coincidentes del lienzo (false).diagonal(boolean; predeterminado context.wandDiagonal) — Solo en modo contiguo: se extiende también a los vecinos diagonales (conectividad 8), de modo que la región se filtra a través de líneas diagonales de 1px.stopAtGrid(boolean; predeterminado context.wandStopAtGrid) — Limita la región a la celda de la cuadrícula donde cae el clic (la celda de una cuadrícula isométrica es el rombo que dibuja, con los píxeles de línea de sus dos bordes superiores).
No devuelve nada.
app.modifySelection(op, amount, opts?) — modifica, deshacible
Expande, contrae o rodea la selección con un borde, recortada al lienzo, exactamente como Selección > Modificar. El borde del lienzo cuenta como borde de la selección.
op(SelectionModifyOp: "expand" | "contract" | "border")amount(number) — Píxeles, de 1 a 256.opts(table, opcional)shape(SelectionModifyShape: "circle" | "square"; predeterminado "circle") — Cómo se mide la distancia desde el borde.
No devuelve nada.
app.reselect() — modifica
Restaura la selección no vacía más reciente (Selección ▸ Volver a seleccionar). Lanza un error si no hay ninguna; comprueba app.canReselect().
No devuelve nada.
app.selectAll() — modifica, deshacible
Selecciona todo el lienzo.
No devuelve nada.
app.selectEllipse(x0, y0, x1, y1, opts?) — modifica, deshacible
Selecciona la elipse inscrita en el cuadro delimitado por las dos esquinas, exactamente como la herramienta de selección elíptica de la interfaz.
x0(number) — Primera esquina.y0(number)x1(number) — Esquina opuesta (inclusiva).y1(number)opts(table, opcional)mode(SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; predeterminado "replace") — Cómo se combina la nueva forma con la selección actual.
No devuelve nada.
app.selectGridCells(x0, y0, x1, y1, opts?) — modifica, deshacible
Selecciona celdas enteras de la cuadrícula del sprite (rectangular, isométrica o hexagonal): cada celda que contiene un píxel del cuadro entre los dos puntos, exactamente como un doble clic (y arrastre) con una herramienta de selección de la interfaz.
x0(number) — Un píxel de la primera celda.y0(number)x1(number) — Un píxel de la última celda (repetir el mismo punto selecciona una sola celda).y1(number)opts(table, opcional)mode(SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; predeterminado "replace") — Cómo se combina la nueva forma con la selección actual.
No devuelve nada.
app.selectInverse() — modifica, deshacible
Invierte la selección actual dentro de los límites del lienzo.
No devuelve nada.
app.selectLayerPixels(layerId, frameId, opts?) — modifica, deshacible
Selecciona los píxeles pintados de una capa (o, con transparent = true, los no pintados) en un fotograma, exactamente como Selección > Seleccionar opacos / Seleccionar transparentes y Alt+clic en una capa de la línea de tiempo.
layerId(string) — Un grupo selecciona los píxeles de todas las capas que contiene.frameId(string)opts(table, opcional)mode(SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; predeterminado "replace") — Cómo se combina la nueva forma con la selección actual.transparent(boolean; predeterminado false) — Selecciona los píxeles sin pintura en lugar de los pintados.
No devuelve nada.
app.selectPolygon(vertices, opts?) — modifica, deshacible
Selecciona el interior (y el contorno) del polígono cerrado que pasa por los vértices, exactamente como el lazo / lazo poligonal de la interfaz.
vertices(table) — Lista de vértices { x = n, y = n } (o { n, n }); el polígono se cierra automáticamente hasta el primero. Cubre tanto el lazo como el lazo poligonal.opts(table, opcional)mode(SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; predeterminado "replace") — Cómo se combina la nueva forma con la selección actual.
No devuelve nada.
app.selectRectangle(x0, y0, x1, y1, opts?) — modifica, deshacible
Selecciona el rectángulo delimitado por las dos esquinas, exactamente como la herramienta de selección rectangular de la interfaz (radius redondea sus esquinas).
x0(number) — Primera esquina.y0(number)x1(number) — Esquina opuesta (inclusiva).y1(number)opts(table, opcional)mode(SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; predeterminado "replace") — Cómo se combina la nueva forma con la selección actual.radius(an integer 0–1024 for every corner, or a list of four { topLeft, topRight, bottomRight, bottomLeft }; predeterminado context.selectionCornerRadius) — Redondea las esquinas, en píxeles (0 = cuadradas): un radio para las cuatro, o uno por esquina en sentido horario desde la superior izquierda. Cada uno se limita a la mitad del lado menor.
No devuelve nada.
app.setSelection(x, y, width, height, mask?) — modifica, deshacible
Reemplaza la selección por un rectángulo, o por cualquier forma mediante mask.
x(number)y(number)width(number)height(number)mask(table, opcional) — Lista plana de 0/1 (width*height, por filas; la forma que devuelve app.getSelection) que selecciona solo esos píxeles del rectángulo; omitida = todo el rectángulo.
No devuelve nada.
En Markdown: selection.md.