Maske

Masken werden verwendet, um Elemente zuzuschneiden oder zu formen. Die maskData-Eigenschaft kann auf Bilder, Videos und andere visuelle Elemente angewendet werden, um deren sichtbaren Bereich zu steuern.

Maskentypen

  • Zuschneiden: Einfaches rechteckiges Zuschneiden
  • Form: Formbasierte Maske (Ellipse, Rechteck, Stern, Polygon usw.)
  • Text: Textbasierte Maske
  • Pfad: Benutzerdefinierte Pfadmaske

Zuschneide-Maske

EigenschaftTypErforderlichBeispielWertbereichBeschreibung
typestringtrue-cropDer Typ der Maske.
centerXnumbertrue--Die horizontale Position des Maskenzentrums in Pixeln.
centerYnumbertrue--Die vertikale Position des Maskenzentrums in Pixeln.
widthnumbertrue--Die Breite der Maske in Pixeln.
heightnumbertrue--Die Höhe der Maske in Pixeln.
inversebooleanfalse--Ob die Maske invertiert werden soll (Ausschnitt-Effekt erzeugen).
imageElement.json
{
  "id": "0a2db861-19c0-47d0-9e71-5a56a357e2e9",
  "type": "Image",
  "start": 0,
  "duration": 5,
  "trackIndex": 0,
  "x": -58.59302855661144,
  "y": 48.394393104046685,
  "blendMode": "normal",
  "anchorX": 1051.1350332909515,
  "anchorY": 2519.1996978825114,
  "rotation": 0,
  "maskData": {
      "type": "crop",
      "centerX": 1051.1350332909515,
      "centerY": 2519.1996978825114,
      "width": 2121.862754282655,
      "height": 2949.902587890625
  },
  "scaleX": 0.23356401384083045,
  "scaleY": 0.23356401384083045,
  "alpha": 1,
  "skewX": 0,
  "skewY": 0,
  "keyframes": [],
  "externalUrl": "https://images.pexels.com/photos/30465303/pexels-photo-30465303.jpeg",
  "ext": "jpeg"
}

Form-Maske

EigenschaftTypErforderlichBeispielWertbereichBeschreibung
typestringtrue-shapeDer Typ der Maske.
shapeTypestringtrue-SHAPE_RECT | SHAPE_ELLIPSE | SHAPE_STAR | SHAPE_POLYGON | SHAPE_PATHDer Typ der Form für die Maske.
xnumbertrue--Die horizontale Position der Maske in Pixeln.
ynumbertrue--Die vertikale Position der Maske in Pixeln.
scaleXnumbertrue--Der horizontale Maßstab der Maske.
scaleYnumbertrue--Der vertikale Maßstab der Maske.
rotationnumbertrue--Die Rotation der Maske in Bogenmaß.
widthnumberfalse--Die Breite der Maske in Pixeln.
heightnumberfalse--Die Höhe der Maske in Pixeln.
fillstringtrue--Die Füllfarbe der Maske im hexadezimalen Format.
viewobjecttrue--Die Eigenschaften der Sichttransformation der Maske.
pointNumnumberfalse--Anzahl der Punkte für Polygon- oder Sternformen.
innerRadiusnumberfalse--Innerradius für Sternformen (relativ zum Außerradius).
outerRadiusnumberfalse--Außerradius für Sternformen.
cornerRadiusnumberfalse--Eckenradius für abgerundete Rechteckformen.
inversebooleanfalse--Ob die Maske invertiert werden soll (Ausschnitt-Effekt erzeugen).
imageElement.json
{
  "id": "0a2db861-19c0-47d0-9e71-5a56a357e2e9",
  "type": "Image",
  "start": 0,
  "duration": 5,
  "trackIndex": 0,
  "x": -58.59302855661144,
  "y": 48.394393104046685,
  "blendMode": "normal",
  "anchorX": 1051.1350332909515,
  "anchorY": 2519.1996978825114,
  "rotation": 0,
  "maskData": {
      "type": "shape",
      "shapeType": "SHAPE_ELLIPSE",
      "x": 1935.8609161703698,
      "y": 2120.7135441063306,
      "scaleX": 1,
      "scaleY": 1,
      "rotation": 0,
      "width": 2604,
      "height": 2604,
      "fill": "#ffffff",
      "view": {
          "scaleX": 1,
          "scaleY": 1,
          "x": 0,
          "y": 0,
          "width": 2604,
          "height": 2604,
          "rotation": 0,
          "anchorX": 0,
          "anchorY": 0
      }
  },
  "scaleX": 0.23356401384083045,
  "scaleY": 0.23356401384083045,
  "alpha": 1,
  "skewX": 0,
  "skewY": 0,
  "keyframes": [],
  "externalUrl": "https://images.pexels.com/photos/30465303/pexels-photo-30465303.jpeg",
  "ext": "jpeg"
}

Text-Maske

Verwenden Sie Text als Maske, um ein Element in Textformen zuzuschneiden.

EigenschaftTypErforderlichBeispielWertbereichBeschreibung
typestringtrue-textDer Typ der Maske.
xnumbertrue--Die horizontale Position der Textmaske in Pixeln.
ynumbertrue--Die vertikale Position der Textmaske in Pixeln.
rotationnumbertrue--Die Rotation der Textmaske in Bogenmaß.
scalenumbertrue--Der Maßstab der Textmaske.
fontSizenumbertrue--Die Schriftgröße des Textes in Pixeln.
fontFamilystringtrue--Der Schriftfamilienname.
textstringtrue--Der Textinhalt.
isBoldbooleantrue--Ob der Text fett ist.
isItalicbooleantrue--Ob der Text kursiv ist.
letterSpacingnumbertrue--Buchstabenabstand in Pixeln.
inversebooleanfalse--Ob die Maske invertiert werden soll (Ausschnitt-Effekt erzeugen).

Pfad-Maske

Verwenden Sie einen benutzerdefinierten Vektorpfad (Bezier-Kurven) als Maske.

EigenschaftTypErforderlichBeispielWertbereichBeschreibung
typestringtrue-pathDer Typ der Maske.
cnumbertrue--Ob der Pfad geschlossen (1) oder offen (0) ist. Geschlossene Pfade können gefüllt werden.
varraytrue--Array von Pfad-Scheitelpunkten. Jeder Punkt ist ein [x, y]-Array.
iarraytrue--Array von eingehenden Tangentialkontrollpunkten für jeden Scheitelpunkt.
oarraytrue--Array von ausgehenden Tangentialkontrollpunkten für jeden Scheitelpunkt.
inversebooleanfalse--Ob die Maske invertiert werden soll (Ausschnitt-Effekt erzeugen).

Wichtige Hinweise

  • Koordinatensystem: Alle Positionen (x, y, centerX, centerY) sind in Pixeln relativ zur ursprünglichen Größe des Elements.
  • Rotations-Einheiten: Rotationswerte sind in Bogenmaß, nicht in Grad. Um Grad in Bogenmaß umzuwandeln: radians = degrees * Math.PI / 180.
  • Inverse Masken: Wenn inverse: true, erzeugt die Maske einen Ausschnitt-Effekt - das Element ist überall sichtbar, außer im maskierten Bereich.
  • Maske vs Region:
    • maskData schneidet das Element selbst zu (Knotenebene-Clipping)
    • filterAgent.region begrenzt, wo ein Filtereffekt angewendet wird (Effekt-Ebene-Maskierung)
  • Leistung: Komplexe Masken (insbesondere Pfadmasken mit vielen Scheitelpunkten) können die Render-Leistung beeinträchtigen.