Fabric.js Textbox borderScaleFactor Property

In this article, we are going to see how to scale the controlling borders 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 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 which will contain the Textbox.
  • After this, we will initialize instances of Canvas and Textbox provided by FabricJS and scale the controlling borders of canvas Textbox using borderScaleFactor property and render the Textbox on the Canvas as given in the below example.

Syntax:

fabric.Textbox('text', {
    borderScaleFactor: number
});

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

  • borderScaleFactor: It specifies the scale factor of the controlling borders.

Example: This example uses FabricJS to scale the controlling borders of the canvas-like Textbox as given below.

HTML




<!DOCTYPE html>
<html>
  
<head>
    <title>
        Fabric.js | Textbox borderScaleFactor Property
    </title>
  
    <!-- Adding the FabricJS library -->
    <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 | Textbox borderScaleFactor 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,
            borderScaleFactor: 5
        });
  
        // Render the Textbox in canvas 
        canvas.add(text);
        canvas.centerObject(text);
    </script>
</body>
  
</html>


Output:



Contact Us