In this tutorial, we will learn how to move a Line object to the bottom of the draw object stack using FabricJS. Line element is one of the basic elements provided in FabricJS. It is used to create straight lines. Since line elements are geometrically one-dimensional and contain no interiors, they are never filled. We can create a line object by creating an instance of fabric.Line, specifying the x and y coordinates of the line and adding it to the canvas. To move the Line object to the bottom of the draw object stack, we use the sendToBack method.
sendToBack(): fabric.Object
Let's look at a code example to see the output when using the sendToBack method. sendToBack method moves the object to the bottom of the drawing object stack. In this example, sendToBack method is used to send line2 after 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 sendToBack method</h2> <p>You can see that line2 (red) lies behind line1 (blue)</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 sendToBack method line2.sendToBack(); </script> </body> </html>
In this example, we use three line objects, line1, line2 and line3. Although they have been added to the canvas in numerical order, line3 is clearly last. This is because we used the sendToBack method, which sends line3 to the bottom of the draw object stack.
<!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 sendToBack method with three objects</h2> <p> You can see that line3 (green) lies at the bottom of 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, }); // 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 sendToBack method line3.sendToBack(); </script> </body> </html>
The above is the detailed content of FabricJS - How to move a Line object to the bottom of the draw object stack?. For more information, please follow other related articles on the PHP Chinese website!