如何使用 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>
廣告