How to set the size of the controlling corners of Ellipse using FabricJS?

In this tutorial, we are going to learn how to set the size of the controlling corners of an Ellipse using FabricJS. The controlling corners of an object allow us to scale, stretch or change its position. We can customize our controlling corners in many ways such as adding a specific color to it, changing its size etc. We can change the size by using the cornerSize property.

Syntax

new fabric.Ellipse({ cornerSize: Number }: Object)

Parameters

  • options (optional) ? This parameter is an Object which provides additional customizations to our ellipse. Using this parameter color, cursor, stroke width and a lot of other properties can be changed related to the object of which cornerSize is a property.

Options Keys

  • cornerSize ? This property accepts a Number which allows us to manipulate the size of the controlling corners of a selected object. Its default value is 13.

Example 1: Default Size of the Controlling Corners

The following example depicts the default size of the controlling corners of an ellipse object when it is actively selected.

<!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>Setting the size of the controlling corners of an Ellipse using FabricJS</h2>
      <p>Select the ellipse and notice its controlling corners. This is the default size of the controlling corners. Here we have not used the <b>cornerSize</b> property.</p>
      <canvas id="canvas"></canvas>

      <script>
         // Initiate a canvas instance
         var canvas = new fabric.Canvas("canvas");

         // Initiate an ellipse instance
         var ellipse = new fabric.Ellipse({
            left: 215,
            top: 100,
            fill: "white",
            rx: 90,
            ry: 50,
            stroke: "#c154c1",
            strokeWidth: 5,
            borderColor: "#daa520",
            cornerColor: "rgb(255,20,147)",
         });

         // Adding it to the canvas
         canvas.add(ellipse);
         canvas.setWidth(document.body.scrollWidth);
         canvas.setHeight(250);
      </script>
   </body>
</html>

Example 2: Custom Corner Size

In this example, we are passing the cornerSize property as key with a value of 7. We can see how that changes the size of our controlling corners when the ellipse object is selected.

<!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>How to set the size of the controlling corners of Ellipse using FabricJS</h2>
      <p>Select the ellipse and notice the size of its controlling corners. We have set <b>cornerSize</b> at 7.</p>
      <canvas id="canvas"></canvas>

      <script>
         // Initiate a canvas instance
         var canvas = new fabric.Canvas("canvas");

         // Initiate an ellipse instance
         var ellipse = new fabric.Ellipse({
            left: 215,
            top: 100,
            fill: "white",
            rx: 90,
            ry: 50,
            stroke: "#c154c1",
            strokeWidth: 5,
            borderColor: "#daa520",
            cornerColor: "rgb(255,20,147)",
            cornerSize: 7,
         });

         // Adding it to the canvas
         canvas.add(ellipse);
         canvas.setWidth(document.body.scrollWidth);
         canvas.setHeight(250);
      </script>
   </body>
</html>

Key Points

  • The default cornerSize value is 13 pixels
  • Smaller values create more subtle control corners
  • Larger values make corners more prominent and easier to grab
  • This property only affects the visual size, not the click area

Conclusion

The cornerSize property in FabricJS allows you to customize the visual size of controlling corners on ellipse objects. This enhances user experience by making selection handles more appropriate for your application's design.

Updated on: 2026-03-15T23:19:00+05:30

266 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements