FabricJS – 如何設定線條控制角的描邊顏色?


在本教程中,我們將學習如何使用FabricJS設定線條控制角的描邊顏色。線條元素是FabricJS提供的基本元素之一,用於建立直線。由於線條元素在幾何上是一維的,並且不包含內部,因此它們永遠不會被填充。

我們可以透過建立fabric.Line的例項,指定線條的x和y座標並將其新增到畫布上來建立線條物件。cornerStrokeColor屬性允許我們設定物件控制角的描邊顏色。

語法

 new fabric.Line(points: Array , { cornerStrokeColor: String }: Object) 

引數

  • points − 此引數接受一個陣列點,它確定(x1, y1)和(x2, y2)的值,分別是線條起點和終點的x軸和y軸座標。

  • options (可選) − 此引數是一個物件,它為我們的物件提供額外的自定義選項。使用此引數,可以更改與線條物件相關的原點、筆劃寬度和許多其他屬性,其中cornerStrokeColor是一個屬性。

選項鍵

  • cornerStrokeColor − 此屬性接受一個字串值,該值確定控制角的描邊顏色。

示例

cornerStrokeColor作為鍵,顏色名稱作為值傳遞

讓我們來看一個更改物件控制角描邊顏色的程式碼示例。在這裡,我們將cornerStrokeColor的值設定為“red”。這將確保我們控制角的描邊現在顯示為紅色。

<!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>Passing cornerStrokeColor as key with a Colour name as value</h2> <p> You can select the line object to see the stroke colour of controlling corners </p> <canvas id="canvas"></canvas> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Initiate a Line object var line = new fabric.Line([200, 100, 100, 40], { stroke: "blue", strokeWidth: 20, cornerStrokeColor: "red" }); // Add it to the canvas canvas.add(line); </script> </body> </html>

示例

停用transparentCorners屬性以瞭解cornerColor和cornerStrokeColor之間的區別

從這個例子中我們可以看到,當transparentCorners設定為false時,cornerStrokeColor只改變描邊顏色,而cornerColor屬性決定控制角本身的填充顏色。

<!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>Disabling transparentCorners property to understand the difference between cornerColor and cornerStrokeColor</h2> <p> You can select the line object to see the difference between cornerStrokeColor and cornerColor </p> <canvas id="canvas"></canvas> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Initiate a Line object var line1 = new fabric.Line([200, 100, 100, 40], { stroke: "blue", strokeWidth: 20, transparentCorners: false, cornerColor: "red" }); // Initiate another Line object var line2 = new fabric.Line([300, 100, 500, 40], { stroke: "green", strokeWidth: 20, transparentCorners: false, cornerStrokeColor: "red" }); // Add them to the canvas canvas.add(line1); canvas.add(line2); </script> </body> </html>

更新於:2022年10月20日

141 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告