Home > Web Front-end > JS Tutorial > body text

How to flip a rectangle horizontally using FabricJS?

PHPz
Release: 2023-08-24 18:05:08
forward
601 people have browsed it

如何使用 FabricJS 水平翻转矩形?

In this tutorial, we will learn how to flip a Rectangle object horizontally using FabricJS. Rectangle is one of the various shapes provided by FabricJS. In order to create a rectangle, we must create an instance of the Fabric.Rect class and add it to the canvas. We can flip the rectangular object horizontally using the flipX property.

Syntax

new fabric.Rect({ flipX: Boolean }: Object)
Copy after login

Parameters

  • Options (optional) - This parameter is a ## that provides additional customization #Object to our rectangle. Using this parameter, you can change the color, cursor, stroke width, and other properties related to the object with FlipX as the attribute.

Option Key

  • flipX - This property accepts a Boolean value that allows We flip the object horizontally. < /p>

Example 1

Passing flipX as a key with a value of "false"

Let's look at a code example that shows us the default orientation of a rectangle object in FabricJS. Since we passed a False value to the

flipX property, the rectangular object will not flip horizontally.

<!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>Passing flipX as key with a False value</h2>
   <p>You can see that the object is not flipped horizontally</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 rectangle object
      var rect = new fabric.Rect({
         left: 125,
         top: 90,
         width: 170,
         height: 70,
         borderColor: "purple",
         borderScaleFactor: 3,
         flipX: false,
      });

      // Create gradient fill
         rect.set(
            "fill",
            new fabric.Gradient({
               type: "linear",
               coords: { x1: 0, y1: 0, x2: 50, y2: 0 },
               colorStops: [
                  { offset: 0, color: "pink" },
                  { offset: 1, color: "blue" },
               ],
            })
         );

      // Add it to the canvas
      canvas.add(rect);
   </script>
</body>
</html>
Copy after login

Example 2

Passing the flipX attribute as a key with a value of "true"

In this example, We have a rectangular object with a width of 170 and a height of 70 with a horizontal linear gradient fill. When we apply the FlipX property to the rectangular object, it flips horizontally, so we see the gradient flipped as well.

<!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>Passing the flipX property as key with a True value</h2>
   <p>You can see now that the object has flipped horizontally</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 rectangle object
      var rect = new fabric.Rect({
         left: 125,
         top: 90,
         width: 170,
         height: 70,
         borderColor: "purple",
         borderScaleFactor: 3,
         flipX: true,
      });

      // Create gradient fill
      rect.set(
         "fill",
         new fabric.Gradient({
            type: "linear",
            coords: { x1: 0, y1: 0, x2: 50, y2: 0 },
            colorStops: [
               { offset: 0, color: "pink" },
               { offset: 1, color: "blue" },
            ],
         })
      );

      // Add it to the canvas
      canvas.add(rect);
   </script>
</body>
</html>
Copy after login

The above is the detailed content of How to flip a rectangle horizontally using FabricJS?. 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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!