如何使用 FabricJS 建立帶有文字游標的畫布?


在這篇文章中,我們將使用 FabricJS 建立一個帶有文字游標的畫布。文字游標指示可以選擇文字。text 是 FabricJS 畫布中可用的原生游標樣式之一。FabricJS 提供各種型別的遊標,例如 default、all-scroll、crosshair、col-resize、row-resize 等,它們在後臺重用原生游標。這些游標的外觀根據作業系統略有不同。

語法

new fabric.Canvas(element: HTMLElement|String, { defaultCursor: String }: Object)

引數

  • element − 此引數是<canvas> 元素本身,可以使用document.getElementById()<canvas> 元素本身的id 獲取。FabricJS 畫布將在此元素上初始化。

  • options (可選) − 此引數是一個物件,它為我們的畫布提供額外的自定義功能。使用此引數可以更改畫布的顏色、游標、邊框寬度以及許多其他屬性,其中defaultCursor是一個屬性,我們可以用它來設定游標的型別。

示例 1

defaultCursor 屬性接受一個字串,該字串確定要在畫布上使用的游標名稱。我們將將其設定為 text 以使用文字游標。讓我們看看使用 FabricJS 建立帶有文字游標的畫布的程式碼。

<!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>Canvas with text cursor using FabricJS</h2>
   <p>Bring the cursor inside the canvas to see the changed shape of cursor</p>
   <canvas id="canvas"></canvas>
   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas", {
         defaultCursor: "text"
      });
      canvas.setWidth(document.body.scrollWidth);
      canvas.setHeight(250);
   </script>
</body>
</html>

示例 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>Canvas with text cursor using FabricJS</h2>
   <p>Here we have added a circle to the canvas along with a text cursor</p>
   <canvas id="canvas"></canvas>
   <script>
      //Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas", {
         defaultCursor: "text"
      });
      // Initiate a Circle instance
      var circle = new fabric.Circle({
         radius: 50,
         fill: "green"
      });
      // Render the circle in canvas
      canvas.add(circle);
      canvas.setWidth(document.body.scrollWidth);
      canvas.setHeight(250);
   </script>
</body>
</html>

更新於:2022年5月19日

377 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告