如何使用 FabricJS 中的 Polyline 類繪製三角形?
我們可以透過建立fabric.Polyline的例項來建立一個 Polyline 物件。Polyline 物件可以由一組連線的直線段來表示。由於它是 FabricJS 的基本元素之一,因此我們也可以透過應用角度、不透明度等屬性輕鬆地對其進行自定義。三角形是一個三邊形,具有三個頂點。
語法
new fabric.Polyline(points: Array, options: Object)
引數
points − 此引數接受一個陣列,表示構成 polyline 物件的點的陣列。
options(可選) − 此引數是一個物件,它為我們的物件提供了額外的自定義功能。使用此引數,可以更改與 Polyline 物件相關的原點、筆劃寬度和許多其他屬性。
示例 1:建立 fabric.Polyline() 的例項並將其新增到畫布
在建立開始之前,讓我們看看一個程式碼示例,說明如何將 polyline 物件新增到畫布中。唯一需要的引數是points陣列,而第二個引數是可選的options物件。
<!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> Creating an instance of fabric.Polyline() and adding it to our canvas </h2> <p>You can see that the polyline object has been added</p> <canvas id="canvas"></canvas> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Initiating a points array var points = [ { x: 30, y: 50 }, { x: 0, y: 0 }, { x: 60, y: 0 }, ]; // Initiating a polyline object var polyline = new fabric.Polyline(points, { left: 100, top: 40, fill: "white", strokeWidth: 4, stroke: "brown", }); // Adding it to the canvas canvas.add(polyline); </script> </body> </html>
示例 2:使用 Polyline 建立三角形
在此示例中,我們將使用 Polyline 例項建立一個三角形。我們可以選擇座標,使形狀形成如下所示的三角形。
<!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>Creating a triangle with Polyline</h2> <p>You can see the triangle in the canvas now</p> <canvas id="canvas"></canvas> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Create a points Array var points = [ { x: 349.9, y: 75, }, { x: 379, y: 160.9, }, { x: 469, y: 160.9, }, { x: 349.9, y: 75, }, ]; // Initiating a polyline object var polyline = new fabric.Polyline(points); // Set the properties polyline.set("stroke", "brown"); polyline.set("strokeWidth", 5); polyline.set("fill", "white"); polyline.set("top", 50); polyline.set("left", 100); polyline.set("scaleX", 0.75); polyline.set("scaleY", 0.75); // Adding it to the canvas canvas.add(polyline); </script> </body> </html>
廣告