如何使用 FabricJS 為圓形新增陰影?


在本教程中,我們將學習如何使用 FabricJS 為圓形新增陰影。圓形是 FabricJS 提供的各種形狀之一。為了建立圓形,我們將建立fabric.Circle類的例項並將其新增到畫布上。我們的圓形物件可以透過多種方式進行自定義,例如更改其尺寸、新增背景顏色,甚至為其新增陰影。我們可以使用shadow屬性為圓形新增陰影。

語法

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

引數

  • options (可選) − 此引數是一個物件,它為我們的圓形提供了額外的自定義選項。使用此引數,可以更改與物件相關的屬性,例如顏色、游標、描邊寬度以及許多其他屬性,其中陰影是一個屬性。

選項鍵

  • shadow − 此屬性接受一個fabric.Shadow物件,該物件允許我們為三角形物件新增陰影。例如,為了為我們的圓形物件新增陰影,我們需要建立一個新的fabric.Shadow例項,然後將該例項分配給shadow屬性。

示例 1

將陰影物件傳遞給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 to a circle using FabricJS</h2>
      <p>Notice the shadow around the circle object. Here we have applied the <b>shadow</b> property. </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: "black",
            blur: 20
         });
         var circle = new fabric.Circle({
            left: 115,
            top: 50,
            radius: 50,
            fill: "#85bb65",
            shadow: shadow
         });
         canvas.add(circle);
         canvas.setWidth(document.body.scrollWidth);
         canvas.setHeight(250);
      </script>
   </body>
</html>

示例 2

將'rgba'值傳遞給陰影物件

我們還可以調整陰影並使其呈現模糊的外觀,方法是為其分配一個'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 to a circle using FabricJS</h2>
         <p>Notice the shadow around the circle object. Here we have passed an 'rgba' value to assign the color.</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(0,128,0,0.8)",
               blur: 20
            });
            var circle = new fabric.Circle({
               left: 115,
               top: 50,
               radius: 50,
               fill: "#85bb65",
               shadow: shadow
            });
            canvas.add(circle);
            canvas.setWidth(document.body.scrollWidth);
            canvas.setHeight(250);
         </script>
   </body>
</html>

更新於: 2022年5月25日

261 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告