如何使用 FabricJS 設定矩形選擇區域的背景顏色?


在本教程中,我們將學習如何使用 FabricJS 設定矩形選擇區域的背景顏色。矩形是 FabricJS 提供的各種形狀之一。為了建立矩形,我們需要建立一個 fabric.Rect 類的例項並將其新增到畫布上。

當物件被選中時,我們可以更改其尺寸、旋轉或操作它。我們可以透過使用 selectionBackgroundColor 屬性來更改矩形選擇區域的背景顏色。

語法

new fabric.Rect({ selectionBackgroundColor : String }: Object)

引數

  • 選項(可選) - 此引數是一個 物件,它為我們的矩形提供了額外的自定義選項。使用此引數,可以更改與物件的 selectionBackgroundColor 屬性相關的屬性,例如顏色、游標、筆觸寬度等等。

選項鍵

  • selectionBackgroundColor - 此屬性接受一個 字串 值。分配的值將決定選擇區域的背景顏色。

示例 1

未使用 selectionBackgroundColor 屬性時的預設顏色

讓我們來看一個程式碼示例,瞭解當不使用 selectionBackgroundColor 屬性時選擇區域是如何顯示的。從這個例子中我們可以看到,選擇區域或物件背後的區域沒有顏色。

<!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 colour when selectionBackgroundColor property is not used</h2>
   <p>You can click on the rectangle to see that the selection area has no colour</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 rectangle object
      var rect = new fabric.Rect({
         left: 155,
         top: 70,
         width: 170,
         height: 70,
         fill: "#00b7eb",
         stroke: "#ffa089",
         strokeWidth: 5,
         padding: 50,
      });
     
      // Add it to the canvas
      canvas.add(rect);
   </script>
</body>
</html>

示例 2

將 selectionBackgroundColor 屬性作為鍵傳遞

在這個例子中,我們為 selectionBackgroundColor 屬性分配了一個值。在這種情況下,我們傳遞了十六進位制值“#e0ffff”,這是一種淺青色,因此選擇區域顯示為這種顏色。

<!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 selectionBackgroundColor property as key</h2>
   <p>You can click on the rectangle to see that the selection area now has a light cyan colour</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 rectangle object
      var rect = new fabric.Rect({
         left: 155,
         top: 70,
         width: 170,
         height: 70,
         fill: "#00b7eb",
         stroke: "#ffa089",
         strokeWidth: 5,
         padding: 50,
         selectionBackgroundColor: "#e0ffff",
      });
     
      // Add it to the canvas
      canvas.add(rect);
   </script>
</body>
</html>

更新於: 2022年6月30日

262 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告