首頁 > web前端 > js教程 > 主體

如何使用FabricJS自訂畫布的視窗?

王林
發布: 2023-09-03 10:13:05
轉載
622 人瀏覽過

如何使用FabricJS自訂畫布的視窗?

在本文中,我們將學習如何使用 FabricJS 自訂畫布的視窗。視口是畫布上使用者可見的區域。我們可以使用viewportTransform 屬性來自訂視窗,該屬性允許我們控制視窗的轉換

語法

new fabric.Canvas(element: HTMLElement|String, { viewportTransform: Array }: Object)
登入後複製

參數

  • 元素 - 此參數是 元素本身,可以使用Document.getElementById() 或 元素本身的id 衍生。 FabricJS 畫布將在此元素上初始化。

  • 選項(可選) - 此參數是一個對象,它提供對我們的畫布進行額外的自訂。使用這個參數,可以改變與畫布相關的顏色、遊標、邊框寬度等許多屬性,其中 viewportTransform 就是一個屬性。它接受一個包含 6 個值的數組,用於確定平面上的變換。預設值為canvas.viewportTransform = [1, 0, 0, 1, 0, 0]。

範例1

傳遞viewportTransform 屬性作為類別的關鍵

讓我們來看一個程式碼範例,了解如何自訂畫布的視窗。在此範例中,我們使用了值 [0.7, 0.1, 0.5, 0.9, 20, 50] 來表示scaleX、skewY、skewX、scaleY、translationtranslationY# ,分別。

<!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>Customizing the viewport of the canvas using FabricJS </h2>
   <p>Select an area around the object to see the viewports.</p>
   <canvas id="canvas"></canvas>
   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas", {
         viewportTransform: [0.7, 0.1, 0.5, 0.9, 20, 50]
      });
      // Creating an instance of the fabric.Rect class
      var circle = new fabric.Circle({
         left: 215,
         top: 100,
         radius: 50,
         fill: "red",
      });
      // Adding it to the canvas
      canvas.add(circle);
      canvas.setWidth(document.body.scrollWidth);
      canvas.setHeight(250);
   </script>
</body>
</html>
登入後複製

範例2

將viewportTransform 屬性作為具有自訂值的鍵傳遞以縮小物件

讓我們看另一個程式碼範例顯示縮放80% 並平移至右下角且不傾斜的變換。

<!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>Customizing the viewport of the canvas using FabricJS </h2>
   <p>Select an area around the object to see the viewports.</p>
   <canvas id="canvas"></canvas>
   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas", {
         viewportTransform: [0.8, 0, 0, 0.8, 50, 50]
      });
      // Creating an instance of the fabric.Rect class
      var circle = new fabric.Circle({
         left: 215,
         top: 100,
         radius: 50,
         fill: "red"
      });
      // Adding it to the canvas
      canvas.add(circle);
      canvas.setWidth(document.body.scrollWidth);
      canvas.setHeight(250);
   </script>
</body>
</html>
登入後複製

以上是如何使用FabricJS自訂畫布的視窗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!