Home > Web Front-end > JS Tutorial > FabricJS - How to move a Line object to the top of the draw object stack?

FabricJS - How to move a Line object to the top of the draw object stack?

PHPz
Release: 2023-09-02 14:09:02
forward
1207 people have browsed it

FabricJS – 如何将 Line 对象移动到绘制对象堆栈的顶部?

In this tutorial, we will learn how to move a Line object to the top 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 a fabric.Line instance, specifying the x and y coordinates of the line and adding it to the canvas. To move the Line object to the top of the drawing object stack, we use the bringToFront method.

grammar

bringToFront(): fabric.Object
Copy after login

UsebringToFrontMethod

Example

Let's look at a code example to see the output when using the bringToFront method. bringToFront method moves the object to the top of the drawing object stack. In this example, use the bringToFront method to move line1 above line2.

<!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 bringToFront method</h2>
   <p>You can see that line1 (blue) lies above line2 (red)</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 bringToFront method
      line1.bringToFront();
   </script>
</body>
</html>
Copy after login

Use bringToFront method on three objects

Example

In this example, we use three line objects, line1, line2 and line3. Although they have been added to the canvas in numerical order, line1 is clearly at the top. This is because we used the bringToFront method, which sends line1 to the top 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 bringToFront method with three objects</h2>
   <p>
      You can see that line1 (blue) lies at the top 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 bringToFront method
      line1.bringToFront();
   </script>
</body>
</html>
Copy after login

The above is the detailed content of FabricJS - How to move a Line object to the top of the draw object stack?. For more information, please follow other related articles on the PHP Chinese website!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template