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

Passing cornerSize as key with a custom value

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>

Updated on: 25-May-2022

73 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements