Dibujo
Las herramientas del editor como comandos: las herramientas de la interfaz envían exactamente estos. El color, el pincel y las opciones de herramienta que omitas vienen del contexto de edición. Pintar ignora la selección y la simetría salvo que pases respectSelection = true y symmetry = app.getContext().symmetry. (24 funciones)
app.blur(layerId, frameId, points, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Desenfoca los píxeles bajo el pincel a lo largo de los puntos, exactamente como la herramienta de desenfoque de la interfaz.
layerId(string)frameId(string)points(table) — Lista de puntos { x = n, y = n } (o { n, n }); los huecos entre puntos consecutivos se interpolan como en un arrastre real.opts(table, opcional) También acepta Opciones de pintura y Opciones de pincel (véase "Grupos de opciones"), y además:strength(integer 0–8; predeterminado context.blurStrength) — Radio de desenfoque en píxeles.
No devuelve nada.
app.dodgeBurn(layerId, frameId, points, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Aclara (dodge) u oscurece (burn) los píxeles bajo el pincel a lo largo de los puntos, en luminosidad OKLCH, exactamente como la herramienta aclarar/oscurecer de la interfaz. El tono y el croma se conservan salvo que se indique hueShift. Cada píxel cambia una vez por llamada; los píxeles transparentes no se tocan.
layerId(string)frameId(string)points(table) — Lista de puntos { x = n, y = n } (o { n, n }); los huecos entre puntos consecutivos se interpolan como en un arrastre real.opts(table, opcional) También acepta Opciones de pintura y Opciones de pincel (véase "Grupos de opciones"), y además:strength(integer 1–100; predeterminado context.dodgeBurnStrength) — Cuánto se mueve la luminosidad OKLCH de cada píxel tocado: 100 = la mitad del recorrido de negro a blanco, 25 = 0.125.hueShift(integer 0–60; predeterminado context.dodgeBurnHueShift) — Grados que el tono OKLCH de cada píxel tocado gira hacia el amarillo cálido (dodge) o el azul frío (burn), sin pasarse de ahí, con el croma reducido (dodge) o aumentado (burn) un 0.5% por grado. 0 conserva el tono y el croma.burn(boolean; predeterminado false) — Oscurece (burn) en lugar de aclarar (dodge).
No devuelve nada.
app.drawContour(layerId, frameId, points, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Rellena la ruta cerrada que pasa por los puntos, incluidos los píxeles de la ruta (el contorno de Aseprite), exactamente como la herramienta de contorno de la interfaz.
layerId(string)frameId(string)points(table) — La ruta a mano alzada como lista de puntos { x = n, y = n }; se cierra y se rellena automáticamente.opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.
No devuelve nada.
app.drawCurve(layerId, frameId, anchors, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Dibuja una ruta de curvas de Bézier cúbicas a través de los anclajes, exactamente como la herramienta de curva de la interfaz. Pasa closed = true para una forma cerrada (y fill = "filled" para rellenarla).
layerId(string)frameId(string)anchors(table) — Los anclajes de la ruta en orden: { x = n, y = n } (o { n, n }), cada uno opcionalmente con tiradores de Bézier inX/inY (el punto de control del segmento que llega) y outX/outY (del segmento que sale). Un anclaje sin tiradores es una esquina viva; dos seguidos se unen con una línea recta.opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.closed(boolean; predeterminado false) — Une el último anclaje con el primero.fill(FillMode: "outline" | "filled"; predeterminado context.shapeFillMode) — Rutas cerradas: dibuja el contorno, o rellena también el interior.width(integer 1–64; predeterminado context.lineWidth) — Grosor del trazo en píxeles (1 = una curva dura de 1px); los trazos más anchos tienen extremos redondeados.pixelPerfect(boolean; predeterminado context.curvePixelPerfect) — Elimina las esquinas en L que recoge una curva de 1px, para líneas de pixel art limpias (se ignora en trazos más anchos).
No devuelve nada.
app.drawEllipse(layerId, frameId, x0, y0, x1, y1, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Dibuja una elipse inscrita en el cuadro delimitado por las dos esquinas, exactamente como la herramienta de elipse de la interfaz.
layerId(string)frameId(string)x0(number) — Primera esquina.y0(number)x1(number) — Esquina opuesta (inclusiva).y1(number)opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.fill(FillMode: "outline" | "filled"; predeterminado context.shapeFillMode) — Solo el contorno, o relleno.
No devuelve nada.
app.drawGradient(layerId, frameId, x0, y0, x1, y1, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Rellena la región que rellenaría el bote de pintura desde (x0, y0) (el área conectada de su color, o todos los píxeles coincidentes cuando no es contigua), dentro de la selección, con un degradado desde startColor en (x0, y0) hasta endColor en (x1, y1), o a lo largo de stops, exactamente como la herramienta de degradado de la interfaz. Con simetría, las regiones reflejadas reciben el mismo degradado. Un arrastre de longitud cero, o un inicio fuera del lienzo o de la selección, no hace nada.
layerId(string)frameId(string)x0(number) — Inicio del degradado (donde está startColor).y0(number)x1(number) — Fin del degradado (donde está endColor).y1(number)opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:startColor(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color en el primer punto.endColor(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.backgroundColor) — El color en el segundo punto.stops({ color, color, ... } or { { color = c, position = 0-1 }, ... }; predeterminado When gradientColors is "stops" and neither startColor nor endColor is given, the gradientStops list.) — Una rampa de varios puntos de 2 a 32 colores desde el primer punto hasta el segundo, en lugar de startColor y endColor. Los colores simples se reparten de forma uniforme; las posiciones van de 0 a 1 en orden, y dos puntos en una misma posición crean un borde duro.gradientType(GradientType: "linear" | "radial"; predeterminado context.gradientType) — Una rampa recta entre los puntos, o radiando desde el primero.dithering(GradientDithering: "none" | "bayer2" | "bayer4" | "bayer8" | "dots" | "lines-h" | "lines-v" | "diagonal" | "noise"; predeterminado context.gradientDithering) — Tramado ordenado aplicado a la rampa (none = suave).snap(GradientSnap: "free" | "palette"; predeterminado context.gradientSnap) — Libre mezcla, o solo colores de la paleta (el tramado entonces alterna entre colores de paleta vecinos).contiguous(boolean; predeterminado context.bucketFillMode (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).tolerance(integer 0–255; predeterminado context.bucketTolerance) — La mayor diferencia de color por canal que aún cuenta como coincidencia.diagonal(boolean; predeterminado context.bucketDiagonal) — 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.bucketStopAtGrid) — 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).closeGap(integer 0–5; predeterminado context.bucketCloseGap) — Rellenos contiguos: trata como cerrados los huecos del contorno de hasta este ancho en píxeles, de modo que el relleno se detiene en ellos en lugar de desbordarse. 0 = desactivado.
No devuelve nada.
app.drawHexagon(layerId, frameId, x0, y0, x1, y1, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Dibuja un hexágono de lado plano arriba que llena el cuadro delimitado por las dos esquinas, exactamente como la herramienta de hexágono de la interfaz.
layerId(string)frameId(string)x0(number) — Primera esquina.y0(number)x1(number) — Esquina opuesta (inclusiva).y1(number)opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.fill(FillMode: "outline" | "filled"; predeterminado context.shapeFillMode) — Solo el contorno, o relleno.
No devuelve nada.
app.drawIsoShape(layerId, frameId, x, y, width?, depth?, height?, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Dibuja un sólido isométrico (box, ramp, stairs, pyramid, prism, cylinder, cone, sphere o dome) en proyección de pixel art, exactamente como la herramienta Forma isométrica de la interfaz. Los bordes son escalones limpios (2 px de ancho por 1 px de alto a 2:1), las caras se rellenan con los colores superior / izquierdo / derecho, los bordes interiores las separan y la silueta lleva contorno. La esquina trasera de la huella está en (x, y); x avanza hacia abajo y a la derecha, y hacia abajo y a la izquierda en pantalla, y height eleva la parte superior. Los sólidos redondos (cylinder, cone, sphere, dome) toman width como diámetro e ignoran depth; sphere también ignora height.
layerId(string)frameId(string)x(number) — Ancla: el píxel más a la izquierda de la tapa en la esquina trasera (superior) de la huella, a nivel del suelo.y(number)width(number, opcional) — Huella a lo largo de x (hacia abajo y a la derecha), en unidades iso: cada unidad es una fila del escalón de borde 2:1. nil = el isoWidth del contexto.depth(number, opcional) — Huella a lo largo de y (hacia abajo y a la izquierda), en unidades iso. nil = el isoDepth del contexto.height(number, opcional) — Altura en píxeles (0 = un rombo plano). nil = el isoHeight del contexto.opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color base: la cara superior con sombreado automático.shape(IsoShape: "box" | "ramp" | "stairs" | "pyramid" | "prism" | "cylinder" | "cone" | "sphere" | "dome"; predeterminado context.isoShape) — Qué sólido se dibuja.cap(integer 2–4; predeterminado context.isoCap) — El tramo plano de píxeles en los vértices superior e inferior: 2 (anchos pares), 3 (impares) o 4 (múltiplos de cuatro). Las proporciones superiores a 2 tienen una tapa natural más ancha.bevel(integer 0–1024; predeterminado context.isoBevel) — Solo box: bisela los cuatro bordes superiores en esta cantidad de píxeles, una pendiente de 45 grados entre la parte superior y los lados (0 = bordes cuadrados). Se limita a la altura y a la mitad de la huella.style(IsoShapeStyle: "filled" | "outline" | "filled-outline"; predeterminado context.isoStyle) — Caras, contorno, o ambos.hiddenEdges(boolean; predeterminado context.isoHiddenEdges) — Dibuja también los bordes detrás del sólido, con el color de borde interior (una estructura de alambre transparente con style outline).direction(IsoDirection: "+x" | "-x" | "+y" | "-y"; predeterminado context.isoDirection) — Ramp y stairs: el sentido en que descienden. Prism: hacia dónde mira una pendiente (+x y -x dan el mismo tejado). Las demás formas lo ignoran.ratio(integer 1–8; predeterminado the sprite's isometric grid ratio (run / rise, rounded), else 2) — Píxeles de ancho por píxel de alto a lo largo de los ejes iso.colors({ outline =, innerEdge =, top =, left =, right = } colors; predeterminado auto-shaded from color, or the context's isoColors when isoAutoShade is off) — Los cinco colores a la vez (left es la cara hacia +y, abajo a la izquierda; right la cara hacia +x). Anula el sombreado automático.autoShade(boolean; predeterminado context.isoAutoShade) — Deriva los colores decolor: superior = color, los lados uno y dos pasos más oscuros a lo largo deramp(o calculados), los bordes interiores aún más oscuros, el contorno el más oscuro. false usa el isoColors del contexto. Se ignora cuando se indica colors.ramp(a list of colors ("#rrggbb[aa]" or { r, g, b, a }); predeterminado context.shades) — La rampa a lo largo de la cual avanza el sombreado automático cuando contienecolor(el extremo más oscuro se encuentra por brillo). De lo contrario, los tonos se calculan y, en un sprite indexado, se ajustan a la paleta.
No devuelve nada.
app.drawLine(layerId, frameId, x0, y0, x1, y1, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Dibuja una línea recta entre los dos puntos, exactamente como la herramienta de línea de la interfaz (width la engrosa con extremos redondeados).
layerId(string)frameId(string)x0(number)y0(number)x1(number)y1(number)opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.width(integer 1–64; predeterminado context.lineWidth) — Grosor de la línea en píxeles (1 = una línea dura de 1px); las líneas más anchas tienen extremos redondeados.
No devuelve nada.
app.drawPolygon(layerId, frameId, vertices, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Dibuja un polígono cerrado que pasa por los vértices, exactamente como la herramienta de polígono de la interfaz.
layerId(string)frameId(string)vertices(table) — Lista de vértices { x = n, y = n } (o { n, n }), al menos 2; el polígono se cierra automáticamente hasta el primero.opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.fill(FillMode: "outline" | "filled"; predeterminado context.shapeFillMode) — Solo el contorno, o relleno.
No devuelve nada.
app.drawRectangle(layerId, frameId, x0, y0, x1, y1, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Dibuja un rectángulo alineado con los ejes delimitado por las dos esquinas, exactamente como la herramienta de rectángulo de la interfaz (radius redondea las esquinas, juntas o una por una). Ignora la selección salvo que respectSelection = true.
layerId(string)frameId(string)x0(number) — Primera esquina.y0(number)x1(number) — Esquina opuesta (inclusiva).y1(number)opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.fill(FillMode: "outline" | "filled"; predeterminado context.shapeFillMode) — Solo el contorno, o relleno.radius(an integer 0–1024 for every corner, or a list of four { topLeft, topRight, bottomRight, bottomLeft }; predeterminado context.cornerRadius) — 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.drawStar(layerId, frameId, x0, y0, x1, y1, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Dibuja una estrella de 5 puntas (con una punta hacia arriba) cuyas puntas exteriores tocan todos los lados del cuadro delimitado por las dos esquinas, exactamente como la herramienta de estrella de la interfaz.
layerId(string)frameId(string)x0(number) — Primera esquina.y0(number)x1(number) — Esquina opuesta (inclusiva).y1(number)opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.fill(FillMode: "outline" | "filled"; predeterminado context.shapeFillMode) — Solo el contorno, o relleno.
No devuelve nada.
app.drawStroke(layerId, frameId, points, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Trazo de pincel a mano alzada por los puntos, exactamente como el lápiz de la interfaz (o, con erase = true, el borrador; con dither, el pincel de tramado).
layerId(string)frameId(string)points(table) — Lista de puntos { x = n, y = n } (o { n, n }); los huecos entre puntos consecutivos se interpolan como en un arrastre real.opts(table, opcional) También acepta Opciones de pintura, Opciones de pincel y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.erase(boolean; predeterminado false) — Borra hasta dejar transparente en lugar de pintar (el borrador);colorse ignora.pixelPerfect(boolean; predeterminado context.pixelPerfect) — Elimina los escalones dobles en las esquinas de la ruta del trazo (con cualquier tamaño de pincel).matchColor(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado nil (every pixel)) — Solo pinta (o borra) los píxeles que son exactamente de este color; los demás no se tocan. Con color = el color de fondo y matchColor = el color de primer plano, es el borrador con clic derecho de Aseprite.dither({ pattern = "bayer2" | "bayer4" | "bayer8" | "dots" | "lines-h" | "lines-v" | "diagonal" | "noise", density = 0-100 }; predeterminado nil (every pixel)) — Solo pinta (o borra) los píxeles de un patrón ordenado con una densidad en porcentaje, dejando el resto sin tocar: el pincel de tramado (50 con bayer2 es un tablero de ajedrez). El patrón se repite desde la esquina superior izquierda del sprite, así que los trazos superpuestos quedan alineados.dynamics({ stabilizer = 0-64, pressure = { size, angle, gradient (booleans), min, max (0-100) }, velocity = { same }, minSize, minAngle, maxAngle, dither, curve = 25-400 }; predeterminado built from the context's stabilizer, pressure*/velocity* and dynamics* fields; pass {} for a plain stroke) — Dinámica del pincel: un estabilizador (media móvil de los puntos) y sensores de presión / velocidad que controlan el tamaño del sello (desde minSize hasta el tamaño del pincel), el ángulo (de minAngle a maxAngle) y un degradado de color de color a endColor (dither = true elige uno u otro por píxel; los sprites indexados se ajustan al color de paleta más cercano). min/max son el rango del sensor en porcentaje (min > max lo invierte); curve es la sensibilidad en porcentaje (100 = lineal). Con pixelPerfect y un tamaño variable, los codos se siguen eliminando a lo largo de la ruta central. Los pinceles personalizados solo reciben el estabilizador y el degradado.pressures(list of numbers 0-1, one per point; predeterminado 1 (full pressure) for every point) — Presión del lápiz por punto, leída por el sensor de presión. Un mouse no tiene, así que cuenta como completa.velocities(list of numbers >= 0, one per point; predeterminado 0 for every point) — Velocidad del puntero por punto en píxeles del sprite por milisegundo (0.5 = el máximo del sensor), leída por el sensor de velocidad.endColor(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.backgroundColor) — El color final del degradado cuando un sensor controla el degradado;colores el inicial.
No devuelve nada.
app.drawTriangle(layerId, frameId, x0, y0, x1, y1, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Dibuja un triángulo isósceles (vértice arriba al centro, base abajo) que llena el cuadro delimitado por las dos esquinas, exactamente como la herramienta de triángulo de la interfaz.
layerId(string)frameId(string)x0(number) — Primera esquina.y0(number)x1(number) — Esquina opuesta (inclusiva).y1(number)opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.fill(FillMode: "outline" | "filled"; predeterminado context.shapeFillMode) — Solo el contorno, o relleno.
No devuelve nada.
app.floodFill(layerId, frameId, x, y, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Relleno con el bote de pintura a partir de (x, y), exactamente como la herramienta de bote de pintura de la interfaz.
layerId(string)frameId(string)x(number)y(number)opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.contiguous(boolean; predeterminado context.bucketFillMode (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).tolerance(integer 0–255; predeterminado context.bucketTolerance) — La mayor diferencia de color por canal que aún cuenta como coincidencia.diagonal(boolean; predeterminado context.bucketDiagonal) — 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.bucketStopAtGrid) — 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).closeGap(integer 0–5; predeterminado context.bucketCloseGap) — Rellenos contiguos: trata como cerrados los huecos del contorno de hasta este ancho en píxeles, de modo que el relleno se detiene en ellos en lugar de desbordarse. 0 = desactivado.pattern(FillPattern: "solid" | "checker" | "dither25" | "dither75" | "hstripes" | "vstripes" | "diagonal" | "grid" | "dots" | "bricks"; predeterminado context.bucketPattern) — Rellena con un patrón repetido decolorypatternColor, repetido desde la esquina superior izquierda del lienzo. "solid" = solocolor.patternColor(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.backgroundColor) — El segundo color del patrón (se ignora cuandopatternes "solid").
No devuelve nada.
app.isoProject(layerId, frameId, projection, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Proyecta los píxeles seleccionados (el marco los sigue), o toda la celda cuando no hay nada seleccionado, sobre una cara de un cubo isométrico: "left" y "right" inclinan las columnas a lo largo de la pendiente, "floor" convierte la región en la cara superior (un cuadrado se convierte en un rombo). Exacta al píxel: cada borde sale como un escalón limpio (2 de ancho por 1 de alto a 2:1) y no se mezcla ningún color. El contenido que cae fuera del lienzo y de los límites de la celda se corta (la capa Background se corta al lienzo).
layerId(string)frameId(string)projection(IsoProjection: "left" | "right" | "floor")opts(table, opcional)run(integer 1–16; predeterminado The sprite's isometric grid ratio, or 2 (2:1) when the grid is rectangular.) — Píxeles de ancho por cadarisepíxeles de alto (la pendiente, en términos mínimos). Indica también rise.rise(integer 1–16; predeterminado The sprite's isometric grid ratio, or 1 (2:1) when the grid is rectangular.) — Píxeles de alto por cadarunpíxeles de ancho. Indica también run.
No devuelve nada.
app.jumble(layerId, frameId, points, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Difuminado aleatorio: mezcla los píxeles bajo el pincel con vecinos aleatorios a lo largo de los puntos, exactamente como la herramienta de mezcla de la interfaz.
layerId(string)frameId(string)points(table) — Lista de puntos { x = n, y = n } (o { n, n }); los huecos entre puntos consecutivos se interpolan como en un arrastre real.opts(table, opcional) También acepta Opciones de pintura y Opciones de pincel (véase "Grupos de opciones"), y además:strength(integer 0–100; predeterminado context.jumbleStrength) — Probabilidad en porcentaje de que cada píxel tocado se mezcle. Un pincel de 1px no tiene vecinos con los que mezclarse, así que usa un brushSize de 2 o más.seed(integer 0–4294967295; predeterminado random) — Semilla aleatoria: la misma semilla y los mismos puntos dan el mismo resultado.
No devuelve nada.
app.movePixels(layerId, frameId, dx, dy) — modifica, deshacible, se rechaza en una capa bloqueada
Mueve los píxeles seleccionados (según la selección actual; el marco los sigue), o toda la celda cuando no hay nada seleccionado, (dx, dy). Exactamente como la herramienta de mover de la interfaz. Sin selección se mueve toda la celda y se conserva todo, incluso más allá del borde del lienzo; los píxeles de la selección movidos se conservan dentro del lienzo y de los límites de la celda, y se cortan más allá. La capa Background se corta al lienzo.
layerId(string)frameId(string)dx(number) — Píxeles que se mueve a la derecha (negativo = izquierda).dy(number) — Píxeles que se mueve hacia abajo (negativo = arriba).
No devuelve nada.
app.outline(layerId, frameIds, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Filtro > Contorno, como en Aseprite: dibuja un contorno alrededor de las formas (o justo dentro de ellas) en las celdas de una capa, como un único paso de deshacer. Un píxel forma parte de una forma salvo que sea transparente (o coincida con bgColor). Los contornos exteriores agrandan la celda, recortada al lienzo. Solo capas de imagen.
layerId(string)frameIds(table) — Array de ids de fotograma cuyas celdas en esta capa reciben contorno (un fotograma para la celda activa, todos los fotogramas para todas).opts(table, opcional)cels(Array of { layerId = ..., frameId = ... }) — Contornea estas celdas, entre capas y fotogramas, en lugar de layerId/frameIds (pasa nil en ambos).color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color del contorno. En un sprite indexado se ajusta a la entrada de paleta más cercana salvo que se indique colorIndex.colorIndex(integer 0–255; predeterminado Taken from color.) — Sprites indexados: el índice de paleta que se pinta, usado tal cual. No el índice transparente.place(OutlinePlace: "outside" | "inside"; predeterminado "outside") — Contorno fuera de la forma (la agranda) o dentro de ella (se repintan sus píxeles de borde).shape(OutlineShape: "circle" | "square"; predeterminado "circle") — Preajuste para la matriz de vecinos. Se ignora cuando se indica matrix.matrix(9 booleans, row-major 3x3 (top-left first): which neighbors count as touching. The center entry is ignored.) — Una matriz de vecinos personalizada, como la cuadrícula de interruptores de 3x3 de Aseprite.bgColor(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado Only transparent pixels are background.) — Un color opaco que también cuenta como fondo, además de los píxeles totalmente transparentes.bgIndex(integer 0–255) — Sprites indexados: un índice de paleta que también cuenta como fondo.respectSelection(boolean; predeterminado false) — Pasa true para aplicar contorno solo dentro de la selección actual. Por defecto se ignora la selección.
No devuelve nada.
app.pastePixels(layerId, frameId, image, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Pega una imagen en la celda de una capa/fotograma como el pegado flotante de la interfaz: los píxeles transparentes dejan la celda como está, los parcialmente transparentes se mezclan sobre ella y los píxeles pegados pasan a ser la selección. El transform opcional la distorsiona (corners), luego escala, gira y/o inclina la imagen respecto a su centro (salvo que se indiquen pivotX/pivotY), y después la desplaza dx/dy. Necesita una capa de imagen editable (sin bloquear); un bloqueo de movimiento no se aplica. Lo que cae fuera del lienzo y de los límites de la celda se corta (la capa Background se corta al lienzo).
layerId(string)frameId(string)image(table) — { x, y, width, height, pixels }: pixels es una lista de width*height colores ("#rrggbb[aa]" o { r, g, b, a }), fila por fila; x, y es donde cae la esquina superior izquierda.opts(table, opcional)scaleX(number -256–256; predeterminado 1) — Escala horizontal respecto al pivote; un valor negativo voltea. No 0.scaleY(number -256–256; predeterminado 1) — Escala vertical respecto al pivote; un valor negativo voltea. No 0.rotation(number; predeterminado 0) — Grados en sentido horario respecto al pivote.skewX(number -80–80; predeterminado 0) — Grados de inclinación horizontal (la parte superior se inclina hacia un lado, la inferior hacia el otro, respecto al pivote).skewY(number -80–80; predeterminado 0) — Grados de inclinación vertical.dx(number; predeterminado 0) — Píxeles que se desplaza a la derecha tras transformar.dy(number; predeterminado 0) — Píxeles que se desplaza hacia abajo tras transformar.pivotX(number; predeterminado The center of the selection (or of the cel when nothing is selected).) — X del punto fijo para rotar/escalar/inclinar, en píxeles del lienzo.pivotY(number; predeterminado The center of the selection (or of the cel when nothing is selected).) — Y del punto fijo para rotar/escalar/inclinar, en píxeles del lienzo.interpolation(TransformInterpolation: "nearest" | "rotsprite" | "bilinear"; predeterminado "nearest") — Cómo se remuestrean los píxeles. Usa rotsprite para rotaciones limpias de pixel art, bilinear para resultados suaves (mezclados).corners({ {x=,y=}, {x=,y=}, {x=,y=}, {x=,y=} }; predeterminado The region's own corners (no distortion).) — Distorsión libre / perspectiva: dónde caen las esquinas superior izquierda, superior derecha, inferior derecha e inferior izquierda de la región, en píxeles del lienzo (se permiten fracciones), antes de la escala/inclinación/rotación/desplazamiento anteriores. Debe formar una figura convexa. Fijar las dos esquinas superiores más juntas que las inferiores da una perspectiva de suelo.
No devuelve nada.
app.scatter(layerId, frameId, points, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Pincel de dispersión: estampa el pincel a lo largo de los puntos, un paso por cada ancho de pincel, con cada sello desplazado por un desfase aleatorio, exactamente como la herramienta de dispersión de la interfaz.
layerId(string)frameId(string)points(table) — Lista de puntos { x = n, y = n } (o { n, n }); los huecos entre puntos consecutivos se interpolan como en un arrastre real.opts(table, opcional) También acepta Opciones de pintura, Opciones de pincel y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.offsetX(integer 0–64; predeterminado context.scatterX) — Hasta dónde puede caer cada sello a la izquierda o a la derecha de la ruta, en píxeles.offsetY(integer 0–64; predeterminado context.scatterY) — Hasta dónde puede caer cada sello por encima o por debajo de la ruta, en píxeles.count(integer 1–16; predeterminado context.scatterCount) — Sellos colocados en cada paso a lo largo de la ruta.seed(integer 0–4294967295; predeterminado random) — Semilla aleatoria: la misma semilla y los mismos puntos dan el mismo resultado.
No devuelve nada.
app.spray(layerId, frameId, points, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Aerógrafo: dispersa puntos aleatorios alrededor de cada punto, exactamente como la herramienta de aerógrafo de la interfaz. Cada punto es un tic, así que repite un punto para seguir rociando en el mismo lugar.
layerId(string)frameId(string)points(table) — Lista de puntos { x = n, y = n } (o { n, n }); los huecos entre puntos consecutivos se interpolan como en un arrastre real.opts(table, opcional) También acepta Opciones de pintura y Opciones de tinta (véase "Grupos de opciones"), y además:color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color de pintura.radius(integer 1–128; predeterminado twice the context's brushSize, at least 2) — A qué distancia de cada punto se dispersan los puntos, en píxeles.rate(integer 1–64; predeterminado context.sprayRate) — Puntos dispersados por punto.seed(integer 0–4294967295; predeterminado random) — Semilla aleatoria: la misma semilla y los mismos puntos dan el mismo resultado.
No devuelve nada.
app.strokeSelection(layerId, frameId, width, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Edición > Contornear selección: pinta una línea del ancho indicado a lo largo del borde de la selección actual (dentro, centrada o fuera de él) en una celda, como un único paso de deshacer. No hace nada cuando no hay nada seleccionado. Solo capas de imagen.
layerId(string)frameId(string)width(number) — Píxeles, de 1 a 256.opts(table, opcional)position(StrokePosition: "inside" | "center" | "outside"; predeterminado "center") — Dónde queda el trazo respecto al borde de la selección.color(color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predeterminado context.foregroundColor) — El color del trazo. En un sprite indexado se ajusta a la entrada de paleta más cercana salvo que se indique colorIndex.colorIndex(integer 0–255; predeterminado Taken from color.) — Sprites indexados: el índice de paleta que se pinta, usado tal cual. No el índice transparente.shape(SelectionModifyShape: "circle" | "square"; predeterminado "circle") — Cómo se mide la distancia desde el borde (esquinas redondeadas o cuadradas).
No devuelve nada.
app.transformPixels(layerId, frameId, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Escala, gira, inclina y/o distorsiona (perspectiva, mediante corners) los píxeles seleccionados (el marco los sigue), o toda la celda cuando no hay nada seleccionado, respecto a un pivote, exactamente como los tiradores de transformación de la herramienta de mover de la interfaz. Orden: escala, inclinación, rotación y después desplazamiento por dx/dy. En un sprite con píxeles no cuadrados (Sprite.pixelRatio) los ángulos y las escalas son los que ves en pantalla, así que una rotación de 90 grados se ve como tal. Sin selección, la celda entera conserva lo que cae dentro del cuadro del lienzo y de los límites de la celda, tanto donde está como desplazada por dx/dy (así que un simple desplazamiento no pierde nada, ni siquiera más allá del borde del lienzo); los píxeles de la selección transformados se conservan dentro del lienzo y de los límites de la celda y se cortan más allá. La capa Background se corta al lienzo. Una transformación sin efecto no cambia nada.
layerId(string)frameId(string)opts(table, opcional)scaleX(number -256–256; predeterminado 1) — Escala horizontal respecto al pivote; un valor negativo voltea. No 0.scaleY(number -256–256; predeterminado 1) — Escala vertical respecto al pivote; un valor negativo voltea. No 0.rotation(number; predeterminado 0) — Grados en sentido horario respecto al pivote.skewX(number -80–80; predeterminado 0) — Grados de inclinación horizontal (la parte superior se inclina hacia un lado, la inferior hacia el otro, respecto al pivote).skewY(number -80–80; predeterminado 0) — Grados de inclinación vertical.dx(number; predeterminado 0) — Píxeles que se desplaza a la derecha tras transformar.dy(number; predeterminado 0) — Píxeles que se desplaza hacia abajo tras transformar.pivotX(number; predeterminado The center of the selection (or of the cel when nothing is selected).) — X del punto fijo para rotar/escalar/inclinar, en píxeles del lienzo.pivotY(number; predeterminado The center of the selection (or of the cel when nothing is selected).) — Y del punto fijo para rotar/escalar/inclinar, en píxeles del lienzo.interpolation(TransformInterpolation: "nearest" | "rotsprite" | "bilinear"; predeterminado "nearest") — Cómo se remuestrean los píxeles. Usa rotsprite para rotaciones limpias de pixel art, bilinear para resultados suaves (mezclados).corners({ {x=,y=}, {x=,y=}, {x=,y=}, {x=,y=} }; predeterminado The region's own corners (no distortion).) — Distorsión libre / perspectiva: dónde caen las esquinas superior izquierda, superior derecha, inferior derecha e inferior izquierda de la región, en píxeles del lienzo (se permiten fracciones), antes de la escala/inclinación/rotación/desplazamiento anteriores. Debe formar una figura convexa. Fijar las dos esquinas superiores más juntas que las inferiores da una perspectiva de suelo.
No devuelve nada.
En Markdown: drawing.md.