如何使用 FabricJS 为椭圆添加描边?


在本教程中,我们将学习如何使用 FabricJS 为椭圆添加描边。椭圆是 FabricJS 提供的各种形状之一。为了创建椭圆,我们必须创建一个fabric.Ellipse类的实例并将其添加到画布中。我们的椭圆对象可以通过多种方式进行自定义,例如更改其尺寸、添加背景颜色或更改围绕对象绘制的线条的颜色。我们可以通过使用stroke属性来实现这一点。

语法

new fabric.Ellipse({ stroke : String }: Object)

参数

  • options (可选) − 此参数是一个对象,它为我们的椭圆提供了额外的自定义选项。使用此参数可以更改对象的许多属性,其中stroke属性是用于更改颜色、光标、描边宽度等的属性。

选项键

  • stroke − 此属性接受一个字符串,并确定该对象边框的颜色。

示例 1

使用十六进制值作为键传递stroke

让我们来看一个例子,了解当使用stroke属性时我们的椭圆对象是如何显示的。十六进制颜色代码以“#”开头,后面跟着一个六位数字,代表一种颜色。在本例中,我们使用了“#ff4500”,这是一种橙红色。

<!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>How to add stroke to an Ellipse using FabricJS?</h2>
      <p>Notice the orange-red outline which appears because we have used the "stroke" property and supplied it with a hexadecimal value "#ff4500"</p>
      <canvas id="canvas"></canvas>
     
      <script>
         // Initiate a canvas instance
         var canvas = new fabric.Canvas("canvas");
         
         // Initiate an ellipse instance
         var ellipse = new fabric.Ellipse({
            left: 115,
            top: 50,
            rx: 80,
            ry: 50,
            fill: "#4169e1",
            stroke: "#ff4500",
            strokeWidth: 5,
         });
         
         // Adding it to the canvas
         canvas.add(ellipse);
         canvas.setWidth(document.body.scrollWidth);
         canvas.setHeight(250);
      </script>
   </body>
</html>

示例 2

将 rgba 值传递给stroke属性

在这个例子中,我们将看到如何为stroke属性赋值“rgba”值。我们可以使用 RGBA 值代替十六进制颜色代码,它代表:红色、绿色、蓝色和 alpha。alpha 参数指定颜色的不透明度。在这个例子中,我们使用了 rgba 值 (255,69,0,0.5),这是一种不透明度为 0.5 的橙红色。

<!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>How to add stroke to an Ellipse using FabricJS?</h2>
      <p> Notice the outline of the ellipse. Here we have used the "stroke" property and supplied it with an "rgba" value.</p>
      <canvas id="canvas"></canvas>
     
      <script>
         // Initiate a canvas instance
         var canvas = new fabric.Canvas("canvas");
         
         // Initiate an ellipse instance
         var ellipse = new fabric.Ellipse({
            left: 115,
            top: 50,
            rx: 80,
            ry: 50,
            fill: "#4169e1",
            stroke: "rgba(255,69,0,0.5)",
            strokeWidth: 5,
         });
         
         // Adding it to the canvas
         canvas.add(ellipse);
         canvas.setWidth(document.body.scrollWidth);
         canvas.setHeight(250);
      </script>
   </body>
</html>

更新于:2022年5月24日

174 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告