首頁 >web前端 >js教程 >FabricJS – 如何在水平和垂直方向上均勻縮放影像?

FabricJS – 如何在水平和垂直方向上均勻縮放影像?

WBOY
WBOY轉載
2023-09-06 21:29:071038瀏覽

FabricJS – 如何在水平和垂直方向上均匀缩放图像?

在本教程中,我們將學習如何使用 FabricJS 在水平和垂直方向上均勻縮放影像。我們可以透過建立fabric.Image的實例來建立一個Image物件。由於它是 FabricJS 的基本元素之一,我們也可以透過應用角度、不透明度等屬性輕鬆自訂它。為了在水平和垂直方向上均勻縮放影像,我們使用 scale方法。

文法

scale(value: Number): fabric.Object 

參數

  • scale - 此參數接受一個Number,用於設定影像物件的比例因子。

    李>

Image 物件的預設外觀

範例

讓我們來看一個程式碼範例,看看我們的圖像物件在不使用scale方法時的樣子。在這種情況下,我們的影像物件將不會在水平和垂直方向上縮放。

<!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 appearance of the Image object</h2>
   <p>
      You can see that the object has not been scaled in horizontal or vertical direction
   </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 an Image object
      var image = new fabric.Image(imageElement, {
         top: 50,
         left: 110,
      });
      // Add it to the canvas
      canvas.add(image);
   </script>
</body>
</html> 

使用自訂值傳遞 scale 方法

範例

在這個例子中,我們現在將看到正在為scale方法分配一個值,該方法在水平和垂直方向上同等地縮放我們的圖像物件。由於我們已將值傳遞為 2,因此這就是現在要考慮的比例因子。

<!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 the scale method with a custom value</h2>
   <p>
      You can see that the object has been scaled in horizontal and vertical direction
   </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 an Image object
      var image = new fabric.Image(imageElement, {
         top: 50,
         left: 110,
      });
      
      // Using the scale method
      image.scale(2);
      
      // Add it to the canvas 
      canvas.add(image);
   </script>
</body>
</html>

以上是FabricJS – 如何在水平和垂直方向上均勻縮放影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除