Sélection

Les formes de sélection se combinent avec la sélection actuelle (remplacer, ajouter, soustraire, intersecter). Le masque de sélection est lisible et modifiable. (19 fonctions)

app.canReselect() — lit

Indique si app.reselect() a une sélection précédente à restaurer.

Renvoie (boolean) : true s'il y en a une.

app.deselect() — modifie

Efface la sélection (Sélection ▸ Désélectionner) : les commandes de dessin peignent alors n'importe où. app.reselect() la ramène.

Ne renvoie rien.

app.enterQuickMask() — modifie, annulable

Active le masque rapide : la sélection devient un masque que tu peins, et plus rien n'est sélectionné. Tant qu'il est actif, les fonctions de dessin peignent le masque quand tu leur passes "quickMask" comme layerId et frameId (toute couleur ajoute, la peinture transparente retire) ; tout le reste qui modifierait le sprite est refusé jusqu'à app.exitQuickMask().

Ne renvoie rien.

app.exitQuickMask() — modifie, annulable

Désactive le masque rapide : chaque pixel du masque à mi-opacité ou plus devient la sélection.

Ne renvoie rien.

app.getSelection() — lit

La sélection actuelle sous la forme { x, y, width, height, mask }, ou nil si rien n'est sélectionné. mask est une liste 0/1 à plat sur les limites (ligne par ligne : (px, py) à l'index py*width + px + 1) — incluse quand les limites contiennent au plus 262144 pixels ; pour les sélections plus grandes, lis-la par morceaux avec app.getSelectionMask.

Renvoie (table) : Table de sélection ou nil.

app.getSelectionBounds() — lit

Le { x, y, width, height } de la sélection actuelle, ou nil si rien n'est sélectionné.

Renvoie (table) : { x, y, width, height } ou nil.

app.getSelectionMask(x, y, width, height) — lit

Quels pixels d'un rectangle en coordonnées du sprite sont sélectionnés, sous forme de liste 0/1 à plat (ligne par ligne : (px, py) à l'index py*width + px + 1). Tout à 0 quand rien n'est sélectionné. 262144 pixels au maximum par appel.

  • x (number)
  • y (number)
  • width (number)
  • height (number)

Renvoie (table) : Liste 0/1 à plat.

app.isSelected(x, y) — lit

Indique si le pixel (x, y) du sprite est dans la sélection actuelle (false quand rien n'est sélectionné).

  • x (number)
  • y (number)

Renvoie (boolean) : true s'il est sélectionné.

app.magicWand(layerId, frameId, points, opts?) — modifie, annulable

Sélectionne les pixels qui correspondent à la couleur sous chaque point sur un calque, toutes les régions en une seule sélection — exactement la baguette magique de l'interface (un clic ou un glisser).

  • layerId (string)
  • frameId (string)
  • points (table) — Liste de points { x = n, y = n } (ou { n, n }), de 1 à 1024 : { { x = 3, y = 4 } } sélectionne une région, comme un clic ; avec plusieurs, la région de chaque point entre dans une seule sélection, comme un glisser.
  • opts (table, facultatif)
    • mode (SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; par défaut "replace") — Comment la nouvelle forme se combine avec la sélection actuelle.
    • tolerance (integer 0–255; par défaut context.wandTolerance) — La plus grande différence de couleur par canal qui compte encore comme une correspondance.
    • contiguous (boolean; par défaut context.wandFillMode (true pour le mode contigu du contexte, false pour global)) — Seulement la région connexe (true), ou tous les pixels correspondants du canevas (false).
    • diagonal (boolean; par défaut context.wandDiagonal) — Contigu uniquement : s'étend aussi aux voisins en diagonale (8-connexité), si bien que la région déborde à travers les lignes diagonales de 1 px.
    • stopAtGrid (boolean; par défaut context.wandStopAtGrid) — Confine la région à la cellule de la grille où tombe le clic (la cellule d'une grille isométrique est le losange qu'elle dessine, avec les pixels de ligne de ses deux bords supérieurs).

Ne renvoie rien.

app.modifySelection(op, amount, opts?) — modifie, annulable

Agrandit, réduit ou entoure la sélection, rognée au canevas — exactement Sélection > Modifier. Le bord du canevas compte comme le bord de la sélection.

  • op (SelectionModifyOp: "expand" | "contract" | "border")
  • amount (number) — Pixels, de 1 à 256.
  • opts (table, facultatif)
    • shape (SelectionModifyShape: "circle" | "square"; par défaut "circle") — Comment la distance au bord est mesurée.

Ne renvoie rien.

app.reselect() — modifie

Restaure la dernière sélection non vide (Sélection ▸ Resélectionner). Lève une erreur s'il n'y en a pas — vérifie avec app.canReselect().

Ne renvoie rien.

app.selectAll() — modifie, annulable

Sélectionne tout le canevas.

Ne renvoie rien.

app.selectEllipse(x0, y0, x1, y1, opts?) — modifie, annulable

Sélectionne l'ellipse inscrite dans la boîte délimitée par les deux coins — exactement l'outil de sélection elliptique de l'interface.

  • x0 (number) — Premier coin.
  • y0 (number)
  • x1 (number) — Coin opposé (inclus).
  • y1 (number)
  • opts (table, facultatif)
    • mode (SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; par défaut "replace") — Comment la nouvelle forme se combine avec la sélection actuelle.

Ne renvoie rien.

app.selectGridCells(x0, y0, x1, y1, opts?) — modifie, annulable

Sélectionne des cellules entières de la grille du sprite (rectangulaire, isométrique ou hexagonale) : chaque cellule qui contient un pixel du cadre entre les deux points, exactement comme un double-clic (et un glissement) avec un outil de sélection de l'interface.

  • x0 (number) — Un pixel de la première cellule.
  • y0 (number)
  • x1 (number) — Un pixel de la dernière cellule (le même point une seconde fois sélectionne une seule cellule).
  • y1 (number)
  • opts (table, facultatif)
    • mode (SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; par défaut "replace") — Comment la nouvelle forme se combine avec la sélection actuelle.

Ne renvoie rien.

app.selectInverse() — modifie, annulable

Inverse la sélection actuelle dans les limites du canevas.

Ne renvoie rien.

app.selectLayerPixels(layerId, frameId, opts?) — modifie, annulable

Sélectionne les pixels peints d'un calque (ou, avec transparent = true, non peints) sur une image — exactement Sélection > Sélectionner les opaques / Sélectionner les transparents et Alt+clic sur un calque de la chronologie.

  • layerId (string) — Un groupe sélectionne les pixels de chaque calque qu'il contient.
  • frameId (string)
  • opts (table, facultatif)
    • mode (SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; par défaut "replace") — Comment la nouvelle forme se combine avec la sélection actuelle.
    • transparent (boolean; par défaut false) — Sélectionne les pixels sans peinture plutôt que les pixels peints.

Ne renvoie rien.

app.selectPolygon(vertices, opts?) — modifie, annulable

Sélectionne l'intérieur (et le contour) du polygone fermé passant par les sommets — exactement le lasso / lasso polygonal de l'interface.

  • vertices (table) — Liste de sommets { x = n, y = n } (ou { n, n }) ; le polygone se referme automatiquement sur le premier. Couvre à la fois le lasso et le lasso polygonal.
  • opts (table, facultatif)
    • mode (SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; par défaut "replace") — Comment la nouvelle forme se combine avec la sélection actuelle.

Ne renvoie rien.

app.selectRectangle(x0, y0, x1, y1, opts?) — modifie, annulable

Sélectionne le rectangle délimité par les deux coins — exactement l'outil de sélection rectangulaire de l'interface (radius arrondit ses coins).

  • x0 (number) — Premier coin.
  • y0 (number)
  • x1 (number) — Coin opposé (inclus).
  • y1 (number)
  • opts (table, facultatif)
    • mode (SelectionCombineMode: "replace" | "add" | "subtract" | "intersect"; par défaut "replace") — Comment la nouvelle forme se combine avec la sélection actuelle.
    • radius (an integer 0–1024 for every corner, or a list of four { topLeft, topRight, bottomRight, bottomLeft }; par défaut context.selectionCornerRadius) — Arrondit les coins, en pixels (0 = angles droits) : un seul rayon pour les quatre, ou un par coin dans le sens horaire à partir du coin supérieur gauche. Chacun est limité à la moitié du plus petit côté.

Ne renvoie rien.

app.setSelection(x, y, width, height, mask?) — modifie, annulable

Remplace la sélection par un rectangle, ou par n'importe quelle forme via mask.

  • x (number)
  • y (number)
  • width (number)
  • height (number)
  • mask (table, facultatif) — Liste 0/1 à plat (width*height, ligne par ligne — la forme que renvoie app.getSelection) qui ne sélectionne que ces pixels du rectangle ; omis = tout le rectangle.

Ne renvoie rien.

En Markdown : selection.md.