Maison  >  Article  >  interface Web  >  Comment verrouiller le mouvement vertical de Line à l'aide de FabricJS ?

Comment verrouiller le mouvement vertical de Line à l'aide de FabricJS ?

WBOY
WBOYavant
2023-09-16 09:41:061138parcourir

Comment verrouiller le mouvement vertical de Line à laide de FabricJS ?

Dans ce tutoriel, nous apprendrons comment verrouiller le mouvement vertical d'une ligne à l'aide de FabricJS. L'élément Line est l'un des éléments de base fournis dans FabricJS. Il est utilisé pour créer des lignes droites. Étant donné que les éléments de ligne sont géométriquement unidimensionnels et ne contiennent aucun intérieur, ils ne sont jamais remplis. Nous pouvons créer un objet ligne en créant une instance fabric.Line, en spécifiant les coordonnées x et y de la ligne et en l'ajoutant au canevas. Nous pouvons également spécifier si nous voulons que l'objet ligne se déplace uniquement sur l'axe X. Cela peut être fait en utilisant l'attribut lockMovementY.

Grammaire

new fabric.Line(points: Array, { lockMovementY: Boolean }: Object)

Paramètres

  • points - Ce paramètre accepte un Array de points, qui détermine les valeurs (x1, y1) et (x2, y2), qui sont les coordonnées des axes x et y du début et de la fin. points de la ligne respectivement.

  • Options (facultatif) - Ce paramètre est un objet qui fournit une personnalisation supplémentaire à notre objet. En utilisant ce paramètre, vous pouvez modifier l'origine, la largeur du trait et de nombreuses autres propriétés associées à l'objet dont lockMovementY est une propriété.

Touche d'option

  • lockMovementY - Cette propriété accepte une valeur boolean. Si on lui attribue une valeur « vraie », alors l’objet ne pourra plus se déplacer verticalement.

Comportement par défaut des objets Ligne dans le canevas

Exemple

Regardons un exemple de code pour comprendre comment déplacer librement un objet ligne sur l'axe X ou Y lorsque la propriété lockMovementY ne reçoit pas de valeur « vraie ».

<!DOCTYPE html>
<html>
<head>
   <!-- Adding the Fabric JS Library-->
   <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script>
</head>
<body>
   <h2>Default behaviour of a Line object in the canvas</h2>
   <p>
      Drag the line object across the x-axis and y-axis to see that movement is allowed in both directions
   </p>
   <canvas id="canvas"></canvas>
   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas");
      canvas.setWidth(document.body.scrollWidth);
      canvas.setHeight(250);

      // Initiate a Line object
      var line = new fabric.Line([200, 100, 100, 40], {
         stroke: "blue",
         strokeWidth: 20,
      });

      // Add it to the canvas
      canvas.add(line);
   </script>
</body>
</html>

Passez lockMovementY comme clé avec une "vraie" valeur

Exemple

Dans cet exemple, nous verrons comment verrouiller le mouvement vertical d'un objet ligne. En attribuant la valeur « vraie » à la propriété lockMovementY, nous arrêtons essentiellement le mouvement vertical.

<!DOCTYPE html>
<html>
<head>
   <!-- Adding the Fabric JS Library-->
   <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script>
</head>
<body>
   <h2>Passing lockMovementY as key with ‘true’ value</h2>
   <p>
      Drag the line object across the x-axis and y-axis to see that movement is no longer allowed in the vertical direction
   </p>
   <canvas id="canvas"></canvas>
   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas");
      canvas.setWidth(document.body.scrollWidth);
      canvas.setHeight(250);

      // Initiate a Line object
      var line = new fabric.Line([200, 100, 100, 40], {
         stroke: "blue",
         strokeWidth: 20,
         lockMovementY: true,
      });

      // Add it to the canvas
      canvas.add(line);
   </script>
</body>
</html>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer