如何使用 FabricJS 创建带有进度光标的画布?


在本文中,我们将使用 FabricJS 创建一个带有进度光标的画布。进度光标表示程序在后台忙碌,但允许用户与界面交互。进度是可用的原生光标样式之一,它也可以在 FabricJS 画布中使用。

FabricJS 提供了各种类型的指针,如默认指针、全滚动指针、十字准线指针、列调整大小指针、行调整大小指针等,这些指针在底层重新使用了原生指针。这些指针的外观根据操作系统略有不同。

语法

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

参数

  • 元素 − 此参数是<canvas>元素本身,可以使用document.getElementById()<canvas>元素本身的 ID 来获取。FabricJS 画布将在此元素上初始化。

  • 选项(可选) − 此参数是一个对象,它为我们的画布提供了额外的自定义功能。使用此参数可以更改画布相关的颜色、光标、边框宽度和许多其他属性,其中defaultCursor是一个属性,我们可以用它来设置光标的类型。

示例 1

defaultCursor 属性接受一个字符串,该字符串确定要在画布上使用的光标的名称。我们将将其设置为progress以使用progress光标。让我们看看在 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 progress 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: "progress"
      });
      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 progress cursor using FabricJS</h2>
   <p>Here we have added a circle to the canvas along with a progress cursor</p>
   <canvas id="canvas"></canvas>
   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas", {
         defaultCursor: "progress"
      });
      // 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日

178 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告