Open In App

Fabric.js Textbox centeredScaling Property

Last Updated : 17 Jan, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we are going to see how to enable the centered scaling of the canvas Textbox using FabricJS. The canvas Textbox means Textbox is movable and can be stretched according to requirement. Further, the Textbox can be customized when it comes to initial stroke color, height, width, fill color, or stroke width.

Approach:

  • To make this 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 which will contain the Textbox.
  • After this, we will initialize instances of Canvas and Textbox provided by FabricJS and enable the centered scaling of canvas Textbox using centeredscaling property and render the Textbox on the Canvas as given below.

Syntax:

fabric.Textbox('text', {
   centeredScaling: boolean
});

Parameters: This function accepts one parameter as mentioned above and described below:

  • centeredScaling: This parameter defines whether to enable or disable centered scaling.

Example: This example uses FabricJS to enable the centered scaling of the canvas-like Textbox as given below. 

HTML




<!DOCTYPE html>
<html>
  
<head>
    <title>
        Fabric.js | Textbox centeredScaling Property
    </title>
  
    <!-- Adding the FabricJS library -->
    <script src=
    </script>
</head>
  
<body>
    <h1 style="color: green;">
        GeeksforGeeks
    </h1>
  
    <h3>
        Fabric.js | Textbox centeredScaling 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");
  
        // Create a new Textbox instance 
        var text = new fabric.Textbox(
            'A Computer Science Portal', {
            width: 450,
            centeredScaling: true
        });
  
        // Render the Textbox in canvas 
        canvas.add(text);
        canvas.centerObject(text);
    </script>
</body>
  
</html>


Output:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads