您好,欢迎访问一九零五行业门户网

FabricJS – 如何将 Line 对象在绘制对象堆栈中向下移动一步?

在本教程中,我们将学习如何使用 fabricjs 将 line 对象在绘制对象堆栈中向下移动一步。 line 元素是 fabricjs 中提供的基本元素之一。它用于创建直线。由于线元素在几何上是一维的并且不包含内部,因此它们永远不会被填充。我们可以通过创建 fabric.line 实例来创建线条对象,指定线条的 x 和 y 坐标并将其添加到画布中。为了将 line 对象在绘制对象堆栈中向下移动一步,我们使用 sendbackwards 方法。
语法 sendbackwards(intersecting: boolean): fabric.object
参数 相交 - 此参数接受布尔值当指定为“true”值时,会将对象发送到下一个较低的相交对象后面。如果值为“false”,它通常将对象发送到堆栈中下一个对象后面。该参数是可选的。
使用sendbackwards方法 示例 让我们看一个代码示例查看使用 sendbackwards 方法时的输出。 sendbackwards 方法将对象在绘制对象堆栈中向下移动一步。在本例中,使用 sendbackwards 方法,line2 在 line1 之后发送。
<!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 sendbackwards method</h2> <p> you can see that line2 (red) has been moved down in the stack of drawn objects </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, }); // initiate another line object var line2 = new fabric.line([200, 70, 70, 40], { stroke: red, strokewidth: 20, }); // add both to the canvas canvas.add(line1); canvas.add(line2); // using sendbackwards method line2.sendbackwards(); </script></body></html>
使用 sendbackwards 方法并启用三个对象并启用交集键示例在此示例中,我们使用了三个线条对象,即 line1、line2 和 line3。尽管它们已按照数字顺序添加到画布中,但 line3 显然位于 line1 后面。这是因为我们使用了启用了交集键的 sendbackwards 方法,该方法将 line3 发送到其下一个较低的相交对象(即 line1)后面。 p><!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 sendbackwards method with three objects and intersection key enabled</h2> <p> you can see that the green line now lies behind the blue line which is line number 1 </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, }); // initiate another line object var line2 = new fabric.line([500, 70, 400, 40], { stroke: red, strokewidth: 20, }); // initiate another line object var line3 = new fabric.line([200, 30, 30, 90], { stroke: green, strokewidth: 20, }); // add them all to the canvas canvas.add(line1); canvas.add(line2); canvas.add(line3); // using sendbackwards method line3.sendbackwards(true); </script></body></html>
以上就是fabricjs – 如何将 line 对象在绘制对象堆栈中向下移动一步?的详细内容。
其它类似信息

推荐信息