如何使用 FabricJS 创建带有十字准线光标的画布?


在本文中,我们将使用 FabricJS 创建一个带有十字准线光标的画布。十字准线是可用的原生光标样式之一,它也可以在 FabricJS 画布中使用。FabricJS 提供了各种类型的游标,例如默认、全部滚动、十字准线、列调整大小、行调整大小等,这些游标在底层重用了原生游标。每个游标的外观根据操作系统略有不同。

语法

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

参数

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

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

示例 1

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

345 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告