Pixels
Lecture et écriture de pixels sous forme de listes RGBA à plat (construites sur les Images ; jamais limitées par la sélection ni en miroir), remplissages et retournements de toute la sélection, et la pipette. (7 fonctions)
app.clearSelection(layerId, frameId) — modifie, annulable, refusée sur un calque verrouillé
Efface la sélection en la rendant totalement transparente, en rognant le cel à ce qui reste (un cel vidé est retiré, avec toutes les images qui y sont liées) ; sans sélection, retire le cel de cette image (une image liée perd seulement son lien). Sur le calque Arrière-plan, tout est effacé avec la couleur d'arrière-plan.
layerId(string)frameId(string)
Ne renvoie rien.
app.fillSelection(layerId, frameId, color, opts?) — modifie, annulable, refusée sur un calque verrouillé
Remplit la sélection (ou tout le cel s'il n'y a pas de sélection) d'une couleur unie. Un remplissage simple (copy) sauf si ink est donné : contrairement aux commandes de dessin, il ne prend jamais l'encre du contexte d'édition, comme Édition > Remplir.
layerId(string)frameId(string)color(table) — { r, g, b, a } — chacun de 0 à 255.opts(table, facultatif)ink(Ink: "copy" | "simple" | "lock-alpha" | "shading"; par défaut "copy") — copy remplace les pixels, simple fait une composition alpha, lock-alpha ne recolore que les pixels visibles, shading fait avancer les couleurs le long deshades. Ignoré par erase.shades(a list of colors ("#rrggbb[aa]" or { r, g, b, a }), in ramp order) — La rampe le long de laquelle avance le shading. Un pixel dont la couleur n'est pas dans la liste n'est pas touché ; un pixel en fin de liste y reste.shadeReverse(boolean; par défaut false) — Le shading recule dansshades(le bouton droit de la souris dans l'interface) au lieu d'avancer.
Ne renvoie rien.
app.flipCelRegion(layerId, frameId, axis) — modifie, annulable, refusée sur un calque verrouillé
Retourne les pixels sélectionnés (ou tout le cel s'il n'y a pas de sélection) dans les limites de la sélection : chaque pixel sélectionné va à son symétrique, ceux laissés derrière sont effacés (avec la couleur d'arrière-plan sur le calque Arrière-plan) et le cadre de sélection est retourné aussi.
layerId(string)frameId(string)axis(FlipAxis: "horizontal" | "vertical")
Ne renvoie rien.
app.getCompositePixels(frameId, x, y, width, height) — pure
Les pixels de app.getCompositeImage sous forme de liste RGBA à plat, dans la forme de app.getPixels. 262144 pixels au maximum par appel.
frameId(string)x(number)y(number)width(number)height(number)
Renvoie (table) : Liste RGBA à plat.
app.getPixels(layerId, frameId, x, y, width, height) — pure
Lit un rectangle width x height en (x, y) du cel d'un calque/d'une image sous forme de liste RGBA à plat (longueur widthheight4, ligne par ligne : le pixel (px, py) commence à l'index (py*width + px)*4 + 1), dans la forme que prend app.setPixels. Les pixels sans cel sont lus comme transparents (0, 0, 0, 0). Construit sur app.getImage, plus rapide quand tu n'as pas besoin d'une liste. 262144 pixels au maximum par appel.
layerId(string)frameId(string)x(number)y(number)width(number)height(number)
Renvoie (table) : Liste RGBA à plat.
app.sampleColor(frameId, x, y, layerId?) — lit
La pipette : la couleur en (x, y) sous la forme { r, g, b, a } — par défaut ce que le canevas affiche à cet endroit (calques visibles mélangés selon leur opacité et leurs modes de fusion), ou la couleur d'un seul calque si layerId est donné.
frameId(string)x(number)y(number)layerId(string, facultatif) — Échantillonne uniquement ce calque. Omis = tous les calques visibles composités, comme à l'écran.
Renvoie (table) : { r, g, b, a }, chacun de 0 à 255.
app.setPixels(layerId, frameId, x, y, width, height, pixels) — pure
Écrase un rectangle width x height en (x, y) du cel d'un calque/d'une image avec une liste RGBA à plat (la forme de app.getPixels), en un seul app.putImage. Écriture brute : jamais limitée à la sélection ni en miroir. Sur les sprites indexés et en niveaux de gris, les couleurs sont converties comme le fait img:setPixel. 262144 pixels au maximum par appel.
layerId(string)frameId(string)x(number)y(number)width(number)height(number)pixels(table) — Liste RGBA à plat, de longueur widthheight4, ligne par ligne : le pixel (px, py) est à l'index (py*width + px)*4 + 1 (r, puis g, b, a ; chacun de 0 à 255).
Ne renvoie rien.
En Markdown : pixels.md.