所属分类:web前端开发
我们可以通过创建fabric.Polyline的实例来创建Polyline对象,而fabric.Polygon可用于创建Polygon实例。折线对象可以通过一组连接的直线段来表征。由于它是 FabricJS 的基本元素之一,因此我们还可以通过应用角度、不透明度等属性轻松自定义它。
多边形总是将第一个点连接到最后一个点以形成一个封闭区域,而折线则不然。这可以通过下面给出的例子来证明。
new fabric.Polyline(points: Array, options: Object)
points - 此参数接受一个Array,它表示组成折线对象的点数组。
选项(可选) - 此参数是一个对象,它为我们的对象提供额外的自定义。使用此参数可以更改与 Polyline 对象相关的原点、笔划宽度和许多其他属性。
让我们看一个代码示例,了解如何将折线对象添加到画布中。唯一必需的参数是 points 数组,而第二个参数是可选的 options 对象。此外,我们还将在 Polygon 中使用相同的 points 数组来证明差异。
<!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 doesn’t connects start to end</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: 200, y: 150 }, { x: 0, y: 100 }, { x: 100, y: 0 }, { x: 200, y: 100 }, ]; // Initiating a polyline object var polyline = new fabric.Polyline(points, { left: 100, top: 40, fill: "white", strokeWidth: 4, stroke: "green", }); // Adding it to the canvas canvas.add(polyline); </script> </body> </html>
让我们看一个代码示例,了解如何将多边形对象添加到画布中。唯一必需的参数是 points 数组,而第二个参数是可选的选项对象,我们将提供与折线示例中相同的选项对象。
<!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.Polygon() and adding it to our canva</h2> <p>You can see that the polygon object connects start to end to make a closed area</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: 200, y: 150 }, { x: 0, y: 100 }, { x: 100, y: 0 }, { x: 200, y: 100 }, ]; // Initiating a polyline object var polygon = new fabric.Polygon(points, { left: 100, top: 40, fill: "white", strokeWidth: 4, stroke: "green", }); // Adding it to the canvas canvas.add(polygon); </script> </body> </html>