Maison > interface Web > js tutoriel > le corps du texte

Comment recadrer le décalage supérieur dans une image clonée à l'aide de FabricJS ?

WBOY
Libérer: 2023-09-10 22:33:04
avant
1564 Les gens l'ont consulté

如何使用 FabricJS 裁剪克隆图像中的顶部偏移?

Dans ce tutoriel, nous apprendrons comment recadrer le décalage top dans une image clonée en utilisant TissuJS. Nous pouvons créer un objet Image en créant une instance de fabric.Image. depuis C'est l'un des éléments de base de FabricJS et nous pouvons également le personnaliser facilement via l'application Angle, opacité et autres propriétés. Pour recadrer le décalage top dans l'image clonée, nous Utilisez l'attribut top.

Grammaire

cloneAsImage( callback: function, { top: Number}: Object): fabric.Object
Copier après la connexion

Paramètres

  • Callback (facultatif) - Ce paramètre est une fonction qui utilisera l'instance d'image clonée comme premier argument d'appel.

  • Options (facultatif) - Ce paramètre est un objet facultatif qui offre une personnalisation supplémentaire à notre image clonée. En utilisant ce paramètre, nous pouvons définir un multiplicateur, recadrer l'image clonée, supprimer la transformation de l'objet actuel ou modifier de nombreuses propriétés, dont top est une propriété.

Touche d'option

  • top - Cette propriété accepte une valeur Number, indiquant que top doit être décalé être recadrée. Cet attribut est facultatif.

N'utilisez pas l'attribut top

Exemple

Regardons un exemple de code pour comprendre comment un objet Image cloné apparaît lorsque top La propriété n'est pas utilisée. Dans ce cas, l’image clonée ne sera pas recadrée.

<!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>Without using the top property</h2>
   <p>You can see that no cropping has been applied to the clone image</p>
   <canvas id="canvas"></canvas>
   <img src="https://www.tutorialspoint.com/images/logo.png" id="img1" style="display: none" />
   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas");
      canvas.setWidth(document.body.scrollWidth);
      canvas.setHeight(250);
      
      // Initiating the image element
      var imageElement = document.getElementById("img1");
      
      // Initiate a shadow object
      var shadow = new fabric.Shadow({
         color: "#308080",
         blur: 3,
      });
      
      // Initiate an Image object
      var image = new fabric.Image(imageElement, {
         top: 50,
         left: 110,
         skewX: 20,
         shadow: shadow,
      });
      
      // Using cloneAsImage method
      image.cloneAsImage(function(Img) {
         Img.set("top", 90);
         canvas.add(Img);
      });
   </script>
</body>
</html>
Copier après la connexion

Utilisez topattribut

Exemple

Dans cet exemple, nous avons utilisé l'attribut top et lui avons passé la valeur 30 qui est Le décalage top de l'image clonée recadrée. Par conséquent, la section top sera recadrée.

<!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>Using the top property</h2>
   <p>You can see that cropping has been applied to the clone image</p>
   <canvas id="canvas"></canvas>
   <img src="https://www.tutorialspoint.com/images/logo.png" id="img1" style="display: none" />
   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas");
      canvas.setWidth(document.body.scrollWidth);
      canvas.setHeight(250);
      
      // Initiating the image element
      var imageElement = document.getElementById("img1");
      
      // Initiate a shadow object
      var shadow = new fabric.Shadow({
         color: "#308080",
         blur: 3,
      });
      
      // Initiate an Image object
      var image = new fabric.Image(imageElement, {
         top: 50,
         left: 110,
         skewX: 20,
         shadow: shadow,
      });
      
      // Using cloneAsImage method
      image.cloneAsImage(
         function(Img) {
            Img.set("top", 150);
            canvas.add(Img);
         }, {
            top: 30,
         }
      );
   </script>
</body>
</html>
Copier après la connexion

Conclusion

Dans ce tutoriel, nous utilisons deux exemples pour montrer comment recadrer le décalage supérieur Clonez l'image à l'aide de FabricJS.

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!