如何使用 FabricJS 创建带有等待光标的画布?


在这篇文章中,我们将学习如何使用 FabricJS 创建一个带有等待光标的画布。等待光标可以用来指示后台程序繁忙,同时阻止用户与界面交互。“wait”是可用的原生光标样式之一,也可以在 FabricJS 画布中使用。

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

语法

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

参数

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

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

示例 1

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

144 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告