Optionsgruppen

Die Mal- und Pinseloptionen, die die Zeichenfunktionen gemeinsam haben, einmal definiert.

Optionssätze, die mehrere Funktionen gemeinsam haben und die hier einmal definiert sind. Die Tabelle opts einer Funktion nennt, welche Gruppen sie zusätzlich akzeptiert – „akzeptiert außerdem Maloptionen“ bedeutet, dass jede Option unten akzeptiert wird, mit derselben Bedeutung und denselben Standardwerten, zusätzlich zu den eigenen der Funktion.

Malen-Optionen (paint)

Werden von jedem Befehl übernommen, der Pixel malt (die Zeichenfunktionen und die Strichwerkzeuge). Alle sind optional. Standardmäßig ignoriert ein Zeichenbefehl die Auswahl und spiegelt nicht, egal was der Editor gerade zeigt; aktiviere es mit respectSelection = true und symmetry = app.getContext().symmetry (oder einer Achsenliste). tilemapMode wird aus dem Bearbeitungskontext gefüllt. Übernommen von: app.blur, app.dodgeBurn, app.drawContour, app.drawCurve, app.drawEllipse, app.drawGradient, app.drawHexagon, app.drawIsoShape, app.drawLine, app.drawPolygon, app.drawRectangle, app.drawStar, app.drawStroke, app.drawTriangle, app.floodFill, app.jumble, app.scatter, app.spray.

  • respectSelection (boolean; Standard false) — Gib true an, um nur innerhalb der aktuellen Auswahl zu malen (lies sie mit app.getSelection / app.isSelected). Standardmäßig wird die Auswahl ignoriert.
  • symmetry (Liste von SymmetryAxis: "horizontal" | "vertical" | "diagonal" | "antidiagonal"; Standard none) — Spiegelachsen durch die Mitte der Leinwand (oder durch symmetryX / symmetryY); Kombinationen (horizontal + vertikal) ergeben eine vierfache Symmetrie. Standard: keine. Gib symmetry = app.getContext().symmetry an, um dem Symmetrie-Schalter des Editors zu folgen, oder eine Achsenliste wie { "vertical" }.
  • symmetryX (number ≥ 0; Standard the canvas center (width / 2)) — Wo die vertikale Achse (und der Punkt, an dem sich beide Diagonalen kreuzen) liegt: Pixel vom linken Rand der Leinwand, ein Vielfaches von 0,5 (ganzzahlig = zwischen Pixeln, x,5 = durch die Mitte eines Pixels). Wird auf die Leinwand begrenzt. Gib app.getContext().symmetryX an, um der Hilfslinie des Editors zu folgen (nil bedeutet dort zentriert).
  • symmetryY (number ≥ 0; Standard the canvas center (height / 2)) — Wo die horizontale Achse (und der Kreuzungspunkt der Diagonalen) liegt: Pixel vom oberen Rand der Leinwand, ein Vielfaches von 0,5. Wird auf die Leinwand begrenzt.
  • tilemapMode (TilemapEditMode: "pixels-edit" | "pixels-auto"; Standard context.tilemapMode) — Wie eine Tilemap-Ebene Pixelfarbe annimmt: auto gibt jeder bemalten Zelle ein eigenes Tile, edit ändert das gemeinsame Tile an Ort und Stelle. Wird bei Bildebenen ignoriert.

Platzierungsoptionen (tilePlace)

Alle sind optional. Standardmäßig kommen Tiles auf jede angegebene Zelle, egal was der Editor zeigt. Gespiegelte Zellen bekommen das gespiegelte Tile: Eine vertikale Achse schaltet flipH um, eine horizontale flipV, eine diagonale transponiert es (rotate90 plus eine Spiegelung). Eine Zelle auf einer Achse behält das Tile wie platziert. Übernommen von: app.fillTiles, app.stampTiles.

  • respectSelection (boolean; Standard false) — Gib true an, um Zellen ohne ausgewähltes Pixel zu überspringen (eine Füllung hört dort ebenfalls auf).
  • symmetry (Liste von SymmetryAxis: "horizontal" | "vertical" | "diagonal" | "antidiagonal"; Standard none) — Platziert auch auf den gespiegelten Zellen über diese Achsen (und ihre Kombinationen). Gib app.getContext().symmetry an, um dem Schalter des Editors zu folgen.
  • symmetryX (number ≥ 0; Standard the canvas center (width / 2)) — Wo die vertikale Achse liegt, in Pixeln vom linken Rand der Leinwand (ein Vielfaches von 0,5).
  • symmetryY (number ≥ 0; Standard the canvas center (height / 2)) — Wo die horizontale Achse liegt, in Pixeln vom oberen Rand der Leinwand (ein Vielfaches von 0,5).

Pinseloptionen (brush)

Werden von den Strichwerkzeugen übernommen (drawStroke, blur, jumble). Gib einen eingebauten Pinsel über Größe und Form an oder einen eigenen Pinsel über Namen oder inline. Übernommen von: app.blur, app.dodgeBurn, app.drawStroke, app.jumble, app.scatter.

  • brushSize (integer 1–64; Standard context.brushSize) — Pinselgröße in Pixeln.
  • brushShape (BrushShape: "circle" | "square" | "line" | "diamond" | "cross" | "x" | "star" | "horizontal"; Standard context.brushShape) — Pinselform. Für einen eigenen Pinsel nimm brush.
  • brushAngle (integer 0–180; Standard context.brushAngle) — Pinselwinkel in Grad: neigt die Form "line" (0 = horizontal, 90 = vertikal) und dreht "square".
  • brush (brush name, or an inline { rows } / { width, height, mask }) — Ein eigener Pinsel: der Name eines mit app.defineBrush definierten Pinsels oder eine Inline-Definition. Ersetzt brushSize, brushShape und brushAngle.

Tintenoptionen (ink)

Werden von jedem Malbefehl außer erase übernommen: wie sich die Malfarbe mit den vorhandenen Pixeln verbindet. Weggelassene Optionen kommen aus dem Bearbeitungskontext (ink, shades). Mit ink = "shading" wird die Farbe ignoriert, und jedes berührte Pixel, dessen Farbe in shades steht, rückt einen Schritt in dieser Liste weiter (einmal pro Befehl, egal wie oft die Form es abdeckt). Übernommen von: app.drawContour, app.drawCurve, app.drawEllipse, app.drawGradient, app.drawHexagon, app.drawIsoShape, app.drawLine, app.drawPolygon, app.drawRectangle, app.drawStar, app.drawStroke, app.drawTriangle, app.floodFill, app.scatter, app.spray.

  • ink (Ink: "copy" | "simple" | "lock-alpha" | "shading"; Standard context.ink) — copy ersetzt Pixel, simple mischt per Alpha-Compositing, lock-alpha färbt nur sichtbare Pixel um, shading schaltet Farben entlang shades weiter. Wird von erase ignoriert.
  • shades (a list of colors ("#rrggbb[aa]" or { r, g, b, a }), in ramp order; Standard context.shades) — Die Farbreihe, entlang der shading weiterschaltet. Ein Pixel, dessen Farbe nicht in der Liste steht, bleibt unberührt; ein Pixel am Ende der Liste bleibt dort.
  • shadeReverse (boolean; Standard false) — Shading schaltet rückwärts in shades statt vorwärts (die rechte Maustaste der Oberfläche).

Als Markdown: option-groups.md.