我们可以通过创建fabric.Polygon的实例来创建一个Polygon对象。多边形对象的特征可以是由一组连接的直线段组成的任何闭合形状。由于它是 FabricJS 的基本元素之一,我们还可以通过应用角度、不透明度等属性轻松自定义它。我们可以使用 points 属性在多边形中添加坐标。
new fabric.Polygon( points: Array, { points: Array }: Object )
points - 此参数接受一个Array,它表示组成多边形对象的点数组。
选项(可选) - 此参数是一个对象,它为我们的对象提供额外的自定义。使用此参数,可以更改与 points 为属性的 Polygon 对象相关的原点、描边宽度和许多其他属性。
points - 该属性接受一个Array,它允许我们设置点数组。
让我们看一个代码示例,了解如何将多边形对象添加到画布中。在本例中,我们没有使用 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>Default appearance of Polygon object</h2> <p>You can see the Polygon object has been added to the canvas</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 polygon object var polygon = new fabric.Polygon( [ { x: -20, y: -35 }, { x: 20, y: -35 }, { x: 40, y: 0 }, { x: 20, y: 35 }, { x: -20, y: 35 }, { x: -40, y: 0 }, ], { top: 50, left: 50, } ); // Adding it to the canvas canvas.add(polygon); </script> </body> </html>
在这个例子中,我们使用了点属性并为其分配了一个数组,该数组由多边形的坐标值组成,其中每个点都是具有“x”和“y”值的对象。可以看出,虽然我们已经指定了 Polygon 对象的点,但一旦我们使用点属性,它就会覆盖这些值并使用新的坐标。
<!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>Using the points property</h2> <p>You can see the Polygon object's coordinates have changed</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: 0, y: 30 }, { x: 30, y: 30 }, { x: 30, y: 0 }, { x: 0, y: 0 }, ]; // Initiating a polygon object var polygon = new fabric.Polygon(points, { top: 50, left: 50, points: [ { x: 0, y: 70 }, { x: 70, y: 70 }, { x: 70, y: 0 }, { x: 0, y: 0 }, ], }); // Adding it to the canvas canvas.add(polygon); </script> </body> </html>
在本教程中,我们使用两个简单的示例来演示如何使用 FabricJS 在多边形中添加坐标。
ECharts图表无法完全填充容器:原因何在,如何解决?
Travis Scott 和 Denim Tears 连帽衫背后的炒作
如何使用正则表达式验证字符串是否以特定网址开头?
React函数组件和类组件计时器:闭包问题如何解决?
ESLint 和 Tree Shaking:如何协同提高 JavaScript 项目性能?
使用OpenCV.js进行投影变换后得到空白的透明图片可能有以下几个原因:变换矩阵错误:投影变换需要一个正确的变换矩阵。如果矩阵中的参数设置不正确,可能会导致图像变换到视图之外,生成空白图像。源图像问题:如果源图像本身有问题,比如是空白或透明的,那么变换后的图像也会是空白或透明。目标图像大小设置不当:在进行投影变换时,需要指定目标图像的大小。如果目标图像大小设置得太小,可能会导致变换后的图像内容超出目标图像范围,生成空白图像。插值方法不当:OpenCV.js在进行变换时使用了不恰当的插值方法,导致图像变换