Maschera

Le maschere vengono utilizzate per ritagliare o modellare elementi. La proprietà maskData può essere applicata a immagini, video e altri elementi visivi per controllare la loro area visibile.

Tipi di Maschera

  • ritaglio: Ritaglio rettangolare semplice
  • forma: Maschera basata su forma (ellisse, rettangolo, stella, poligono, ecc.)
  • testo: Maschera basata su testo
  • percorso: Maschera con percorso personalizzato

Maschera di Ritaglio

ProprietàTipoRichiestoEsempioIntervallo di valoriDescrizione
typestringtrue-cropIl tipo di maschera.
centerXnumbertrue--La posizione orizzontale del centro della maschera, in pixel.
centerYnumbertrue--La posizione verticale del centro della maschera, in pixel.
widthnumbertrue--La larghezza della maschera, in pixel.
heightnumbertrue--L'altezza della maschera, in pixel.
inversebooleanfalse--Se invertire la maschera (creare un effetto ritaglio).
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"
}

Maschera di Forma

ProprietàTipoRichiestoEsempioIntervallo di valoriDescrizione
typestringtrue-shapeIl tipo di maschera.
shapeTypestringtrue-SHAPE_RECT | SHAPE_ELLIPSE | SHAPE_STAR | SHAPE_POLYGON | SHAPE_PATHIl tipo di forma per la maschera.
xnumbertrue--La posizione orizzontale della maschera, in pixel.
ynumbertrue--La posizione verticale della maschera, in pixel.
scaleXnumbertrue--La scala orizzontale della maschera.
scaleYnumbertrue--La scala verticale della maschera.
rotationnumbertrue--La rotazione della maschera, in radianti.
widthnumberfalse--La larghezza della maschera, in pixel.
heightnumberfalse--L'altezza della maschera, in pixel.
fillstringtrue--Il colore di riempimento della maschera, in formato esadecimale.
viewobjecttrue--Le proprietà di trasformazione della vista della maschera.
pointNumnumberfalse--Numero di punti per forme poligonali o a stella.
innerRadiusnumberfalse--Raggio interno per forme a stella (rispetto al raggio esterno).
outerRadiusnumberfalse--Raggio esterno per forme a stella.
cornerRadiusnumberfalse--Raggio degli angoli per forme a rettangolo arrotondato.
inversebooleanfalse--Se invertire la maschera (creare un effetto ritaglio).
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"
}

Maschera di Testo

Usa il testo come maschera per ritagliare un elemento in forme di testo.

ProprietàTipoRichiestoEsempioIntervallo di valoriDescrizione
typestringtrue-textIl tipo di maschera.
xnumbertrue--La posizione orizzontale della maschera di testo, in pixel.
ynumbertrue--La posizione verticale della maschera di testo, in pixel.
rotationnumbertrue--La rotazione della maschera di testo, in radianti.
scalenumbertrue--La scala della maschera di testo.
fontSizenumbertrue--La dimensione del carattere del testo, in pixel.
fontFamilystringtrue--Il nome della famiglia di caratteri.
textstringtrue--Il contenuto del testo.
isBoldbooleantrue--Se il testo è in grassetto.
isItalicbooleantrue--Se il testo è in corsivo.
letterSpacingnumbertrue--Spaziatura delle lettere in pixel.
inversebooleanfalse--Se invertire la maschera (creare un effetto ritaglio).

Maschera di Percorso

Usa un percorso vettoriale personalizzato (curve di Bezier) come maschera.

ProprietàTipoRichiestoEsempioIntervallo di valoriDescrizione
typestringtrue-pathIl tipo di maschera.
cnumbertrue--Se il percorso è chiuso (1) o aperto (0). I percorsi chiusi possono essere riempiti.
varraytrue--Array di punti vertice del percorso. Ogni punto è un array [x, y].
iarraytrue--Array di punti di controllo della tangente in arrivo per ogni vertice.
oarraytrue--Array di punti di controllo della tangente in uscita per ogni vertice.
inversebooleanfalse--Se invertire la maschera (creare un effetto ritaglio).

Note Importanti

  • Sistema di Coordinate: Tutte le posizioni (x, y, centerX, centerY) sono in pixel rispetto alla dimensione originale dell'elemento.
  • Unità di Rotazione: I valori di rotazione sono in radianti, non in gradi. Per convertire i gradi in radianti: radians = degrees * Math.PI / 180.
  • Maschere Inverse: Quando inverse: true, la maschera crea un effetto ritaglio - l'elemento è visibile ovunque tranne che nell'area mascherata.
  • Maschera vs Regione:
    • maskData ritaglia il l'elemento stesso (ritaglio a livello di nodo)
    • filterAgent.region limita dove viene applicato un effetto filtro (mascheramento a livello di effetto)
  • Prestazioni: Maschere complesse (soprattutto maschere con percorso con molti vertici) possono influire sulle prestazioni di rendering.