Masque

Les masques sont utilisés pour rogner ou façonner des éléments. La propriété maskData peut être appliquée aux images, vidéos et autres éléments visuels pour contrôler leur zone visible.

Types de Masques

  • rogner : Rognage rectangulaire simple
  • forme : Masque basé sur une forme (ellipse, rectangle, étoile, polygone, etc.)
  • texte : Masque basé sur du texte
  • chemin : Masque de chemin personnalisé

Masque de Rognage

PropriétéTypeRequisExemplePlage de valeursDescription
typestringtrue-cropLe type de masque.
centerXnumbertrue--La position horizontale du centre du masque, en pixels.
centerYnumbertrue--La position verticale du centre du masque, en pixels.
widthnumbertrue--La largeur du masque, en pixels.
heightnumbertrue--La hauteur du masque, en pixels.
inversebooleanfalse--S'il faut inverser le masque (créer un effet de découpe).
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"
}

Masque de Forme

PropriétéTypeRequisExemplePlage de valeursDescription
typestringtrue-shapeLe type de masque.
shapeTypestringtrue-SHAPE_RECT | SHAPE_ELLIPSE | SHAPE_STAR | SHAPE_POLYGON | SHAPE_PATHLe type de forme pour le masque.
xnumbertrue--La position horizontale du masque, en pixels.
ynumbertrue--La position verticale du masque, en pixels.
scaleXnumbertrue--L'échelle horizontale du masque.
scaleYnumbertrue--L'échelle verticale du masque.
rotationnumbertrue--La rotation du masque, en radians.
widthnumberfalse--La largeur du masque, en pixels.
heightnumberfalse--La hauteur du masque, en pixels.
fillstringtrue--La couleur de remplissage du masque, au format hexadécimal.
viewobjecttrue--Les propriétés de transformation de vue du masque.
pointNumnumberfalse--Nombre de points pour les formes de polygone ou d'étoile.
innerRadiusnumberfalse--Rayon intérieur pour les formes d'étoile (par rapport au rayon extérieur).
outerRadiusnumberfalse--Rayon extérieur pour les formes d'étoile.
cornerRadiusnumberfalse--Rayon des coins pour les formes de rectangle arrondi.
inversebooleanfalse--S'il faut inverser le masque (créer un effet de découpe).
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"
}

Masque de Texte

Utilisez le texte comme un masque pour rogner un élément en formes de texte.

PropriétéTypeRequisExemplePlage de valeursDescription
typestringtrue-textLe type de masque.
xnumbertrue--La position horizontale du masque de texte, en pixels.
ynumbertrue--La position verticale du masque de texte, en pixels.
rotationnumbertrue--La rotation du masque de texte, en radians.
scalenumbertrue--L'échelle du masque de texte.
fontSizenumbertrue--La taille de la police du texte, en pixels.
fontFamilystringtrue--Le nom de la famille de police.
textstringtrue--Le contenu du texte.
isBoldbooleantrue--S'il faut que le texte soit en gras.
isItalicbooleantrue--S'il faut que le texte soit en italique.
letterSpacingnumbertrue--Espacement des lettres en pixels.
inversebooleanfalse--S'il faut inverser le masque (créer un effet de découpe).

Masque de Chemin

Utilisez un chemin vectoriel personnalisé (courbes de Bezier) comme masque.

PropriétéTypeRequisExemplePlage de valeursDescription
typestringtrue-pathLe type de masque.
cnumbertrue--S'il faut que le chemin soit fermé (1) ou ouvert (0). Les chemins fermés peuvent être remplis.
varraytrue--Tableau de points de sommet du chemin. Chaque point est un tableau [x, y].
iarraytrue--Tableau de points de contrôle de tangente entrants pour chaque sommet.
oarraytrue--Tableau de points de contrôle de tangente sortants pour chaque sommet.
inversebooleanfalse--S'il faut inverser le masque (créer un effet de découpe).

Notes Importantes

  • Système de Coordonnées : Toutes les positions (x, y, centerX, centerY) sont en pixels par rapport à la taille d'origine de l'élément.
  • Unités de Rotation : Les valeurs de rotation sont en radians, pas en degrés. Pour convertir des degrés en radians : radians = degrees * Math.PI / 180.
  • Masques Inversés : Lorsque inverse: true, le masque crée un effet de découpe - l'élément est visible partout sauf dans la zone masquée.
  • Masque vs Région :
    • maskData rogne l'élément lui-même (clipping au niveau du nœud)
    • filterAgent.region limite l'endroit où un effet de filtre est appliqué (masquage au niveau de l'effet)
  • Performance : Les masques complexes (en particulier les masques de chemin avec de nombreux sommets) peuvent affecter la performance de rendu.