Fabric.js Circle lockSkewingX Property

In this article, we are going to see how to lock horizontally skewing of a canvas circle using FabricJS. The canvas circle is movable and can be stretched according to requirements. Further, the circle can be customized when it comes to initial stroke color, height, width, fill color, or stroke width.

Approach: To make it possible we are going to use a JavaScript library called FabricJS. After importing the library, we will create a canvas block in the body tag that will contain the circle. After this, we will initialize instances of canvas and circle provided by FabricJS and set the lockSkewingX of canvas circle using lockSkewingX property, and render the circle on the canvas as given in the below example.

Syntax:

fabric.Circle({
   radius: number,
   lockSkewingX: boolean
});

Parameters: This function accepts two parameters as mentioned above and described below.

  • radius: It specifies the radius of the circle.
  • lockSkewingX: It specifies whether to lock horizontally skewing of a circle canvas or not.

Example: This example uses FabricJS to set the horizontally skewing of a canvas circle as given below.

HTML




<!DOCTYPE html>
<html>
  
<head>
      
    <!-- FabricJS CDN -->
    <script src=
"https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js">
    </script>
</head>
  
<body>
    <h1 style="color: green;">
        w3wiki
    </h1>
  
    <h3>
        Fabric.js Circle lockSkewingX Property
    </h3>
  
    <canvas id="canvas" width="600" height="300" 
        style="border:1px solid #000000">
    </canvas>
  
    <script>
  
        // Initiate a Canvas instance 
        var canvas = new fabric.Canvas("canvas");
  
        // Initiate a Circle instance 
        var circle = new fabric.Circle({
            radius: 100,
            fill: '',
            stroke: 'green',
            strokeWidth: 3,
            lockSkewingX: true
        });
  
        // Render the circle in canvas 
        canvas.add(circle);
        canvas.centerObject(circle);
    </script>
</body>
  
</html>


Output:



Contact Us