如何使用 FabricJS 为椭圆添加阴影?


在本教程中,我们将学习如何使用 FabricJS 为椭圆添加阴影。椭圆是 FabricJS 提供的各种形状之一。为了创建椭圆,我们将创建一个 `fabric.Ellipse` 类的实例并将其添加到画布。我们的椭圆对象可以通过多种方式进行自定义,例如更改其尺寸、添加背景颜色甚至添加阴影。我们可以使用 `shadow` 属性为椭圆添加阴影。

语法

new fabric.Ellipse({ shadow : fabric.Shadow }: Object)

参数

  • options (可选) - 此参数是一个对象,它为我们的椭圆提供额外的自定义选项。使用此参数可以更改对象的许多属性,例如颜色、光标、笔划宽度以及 `shadow` 属性。

选项键

  • shadow - 此属性接受一个 fabric.Shadow 对象,允许我们为椭圆对象添加阴影。例如,为了为我们的椭圆对象添加阴影,我们需要创建一个 fabric.Shadow 的新实例,然后将其赋值给 shadow 属性。

示例 1

将 shadow 对象传递给 shadow 属性

让我们来看一段代码,了解如何为 shadow 属性赋值,以便为我们的椭圆对象添加阴影。首先,我们需要创建一个 **fabric.Shadow** 的新实例,然后将其赋值给我们的 shadow 属性。

<!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>Adding shadow effect to an ellipse using FabricJS</h2>
      <canvas id="canvas"></canvas>
     
      <script>
         // Initiate a canvas instance
         var canvas = new fabric.Canvas("canvas");
         
         // Initiate a shadow instance
         var shadow = new fabric.Shadow({
            color: "yellow",
            blur: 20,
         });
         // Initiate an ellipse instance
         var ellipse = new fabric.Ellipse({
            left: 115,
            top: 50,
            rx: 80,
            ry: 50,
            fill: "#ff1493",
            shadow: shadow,
         });
         
         // Adding it to the canvas
         canvas.add(ellipse);
         canvas.setWidth(document.body.scrollWidth);
         canvas.setHeight(250);
      </script>
   </body>
</html>

示例 2

将 "rgba" 值传递给 shadow 对象

我们还可以调整阴影并使其呈现模糊外观,方法是为其赋值一个 "rgba" 值,它代表红色、绿色、蓝色和 alpha 值。Alpha 值决定颜色的不透明度。

<!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>Adding shadow effect to an eclipse using FabricJS</h2>
      <p>Here we are passing an "rgba" value for the shadow effect.</p>
      <canvas id="canvas"></canvas>
     
      <script>
         // Initiate a canvas instance
         var canvas = new fabric.Canvas("canvas");
         
         // Initiate a shadow instance
         var shadow = new fabric.Shadow({
            color: "rgba(65,105,225,0.8)",
            blur: 20,
         });
         
         // Initiate an ellipse instance
         var ellipse = new fabric.Ellipse({
            left: 115,
            top: 50,
            rx: 80,
            ry: 50,
            fill: "#ff1493",
            shadow: shadow,
         });
         
         // Adding it to the canvas
         canvas.add(ellipse);
         canvas.setWidth(document.body.scrollWidth);
         canvas.setHeight(250);
      </script>
   </body>
</html>

更新于:2022年5月24日

浏览量:150

启动您的 职业生涯

完成课程,获得认证

开始学习
广告
© . All rights reserved.