How to set the style of controlling corners of a Circle using FabricJS?


In this tutorial, we are going to learn how to set the style of controlling corners of Circle using FabricJS. Circle is one of the various shapes provided by FabricJS. In order to create a circle, we will have to create an instance of fabric.Circle class and add it to the canvas.

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 colour to it, changing its size etc. We can change the style by using the cornerStyle property.

Syntax

new fabric.Circle({ cornerStyle: String }: Object)

Parameters

  • options (optional) − This parameter is an Object which provides additional customizations to our circle. Using this parameter, properties such as colour, cursor, stroke width and a lot of other properties can be changed related to the object of which cornerStyle is a property.

Options Keys

  • cornerStyle − This property accepts a String that allows us to specify the style of controlling corners that we want. The value allows us to specify the style of control.

Example 1

Default style of controlling corners

Let's see an example that shows the default style of the controlling corners.

<!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 style of controlling corners of circle using FabricJS</h2>
      <p>Select the object and notice the shape and size of its controlling corners. This is the default style of the controlling corners.</p>
      <canvas id="canvas"></canvas>

      <script>
         // Initiate a canvas instance
         var canvas = new fabric.Canvas("canvas");
         var cir = new fabric.Circle({
            left: 215,
            top: 100,
            fill: "white",
            radius: 50,
            stroke: "#c154c1",
            strokeWidth: 5,
            borderColor: "#daa520",
            cornerColor: "rgb(255,20,147)"
         });

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

Example 2

Passing cornerStyle as key with the value "circle"

We can specify the style or appearance of the controlling corners of an actively selected object by passing the values as "circle" or "rect". Passing the value as "circle" will make the controlling corners appear circular, as we have done in the example below −

<!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 style of controlling corners of circle using FabricJS</h2>
      <p>Select the object and notice the shape of its controlling corners. Here we have used the <b>cornerStyle</b> property and assigned it the value "circle". </p>
      <canvas id="canvas"></canvas>

      <script>
         // Initiate a canvas instance
         var canvas = new fabric.Canvas("canvas");
         var cir = new fabric.Circle({
            left: 215,
            top: 100,
            fill: "white",
            radius: 50,
            stroke: "#c154c1",
            strokeWidth: 5,
            borderColor: "#daa520",
            cornerColor: "rgb(255,20,147)",
            cornerStyle: "circle"
         });

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

Updated on: 27-May-2022

408 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements