Fabric.js Image centeredRotation Property

Fabric.js is a javascript library that is used to work with canvas. The canvas image is one of the class of fabric.js that is used to create image instances. The canvas image means the Image is movable and can be stretched according to requirement. The centeredRotation property of the image is used to rotate the canvas image along the center i.e the origin.

Approach: First import the fabric.js library. After importing the library, create a canvas block in the body tag which will contain the image. After this, initialize an instance of Canvas and image class provided by Fabric.JS and set the centeredRotation property first to false then to true and try to rotate the image with the help of the controls. Then render the image instance to the canvas and center the element.

Syntax:

fabric.Image(image, {
    centeredRotation:Boolean
});

Parameters: The above function takes two parameters as mentioned above and described below:

  • image: This parameter takes the image.
  • centeredRotation: This parameter defines whether to enable or disable centered rotation of the canvas image.

Example 1: This example uses FabricJS to enable the centered rotation of the canvas image. The rotation of the image is along with the origin as shown in the below given example.



filter_none

edit
close

play_arrow

link
brightness_4
code

<!DOCTYPE html> 
<html
  
<head
    <!-- Adding the FabricJS library --> 
    <script src
    </script
</head
  
<body
    <h1 style="color: green;">GeeksforGeeks</h1>
    <b>Fabric.js | Image centeredRotation Property </b>  
       
    <canvas id="canvas" width="300" height="250"
        style="border:2px solid #000000"
    </canvas
  
    <img src=
        width="100" height="100" id="my-image">
    <br>
  
    <button onclick="func()">Clickme</button>
  
    <script
        // Create the instance of canvas object
        var canvas = new fabric.Canvas("canvas"); 
  
        // Getting the image
        var img= document.getElementById('my-image');
  
        // Creating the image instance 
        var imgInstance = new fabric.Image(img, {
            centeredRotation:true
        });
  
        // Rendering the image to canvas
        canvas.add(imgInstance);
        canvas.centerObject(imgInstance);
    </script
</body
  
</html>

chevron_right


Output:

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

<!DOCTYPE html> 
<html
  
<head
    <!-- Adding the FabricJS library --> 
    <script src
    </script
</head
  
<body
    <h1 style="color: green;">GeeksforGeeks</h1
    <b>Fabric.js | Image centeredRotation Property </b
  
    <canvas id="canvas" width="300" height="300"
        style="border:2px solid #000000"
    </canvas
  
    <img src =
        width="100" height="100" id="my-image"
        style="display:none">
    <br>
  
    <button onclick="func()">Clickme</button>
  
    <script
        // Create the instance of canvas object
        var canvas = new fabric.Canvas("canvas"); 
  
        // Getting the image
        var img= document.getElementById('my-image');
  
        // Creating the image instance 
        var imgInstance = new fabric.Image(img, {
            centeredRotation:false
        });
  
        // Rendering the image to canvas
        canvas.add(imgInstance);
  
        func=()=>{
            var imgInstance = new fabric.Image(img, {
                centeredRotation:true
            });
  
            // Rendering the image to canvas
            canvas.add(imgInstance);
            canvas.clear();
            canvas.add(imgInstance);
        }
    </script
</body
  
</html>

chevron_right


Output:

full-stack-img




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.