How to change the font size of a Textbox using FabricJS?


In this tutorial, we are going to see how to change the font size of a Textbox using FabricJS. We can customize, stretch or move around the text written in a textbox. In order to create a textbox, we will have to create an instance of fabric.Textbox class and add it to the canvas. The font size specifies how large or small the characters displayed in our textbox should be. We can change the font size by using the fontSize property.

Syntax

new fabric.Textbox(text: String, { fontSize: Number }: Object)

Parameters

  • text − This parameter accepts a String which is the text string that we want to display inside our textbox.

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

Options Keys

  • fontSize − This property accepts a Number which allows us to set the size of the text inside our textbox. Its default value is 40.

Example 1

Default appearance of the Textbox object

Let’s see a code example to understand how our textbox object would appear when the fontSize property is not used.

<!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>Default appearance of the Textbox object</h2>
   <p>You can see the default value of text in a textbox which is 40</p>
   <canvas id="canvas"></canvas>
   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas");
      canvas.setWidth(document.body.scrollWidth);
      canvas.setHeight(250);

      // Initiate a textbox object
      var textbox = new fabric.Textbox("Impossible is for the unwilling.", {
         backgroundColor: "#e6e8fa",
         width: 400,
         left: 100,
         top: 70,
         fill: "#000060",
      });

      // Add it to the canvas
      canvas.add(textbox);
   </script>
</body>
</html>

Example 2

Passing the fontSize property as key with a custom value

In this example, we are passing the fontSize property as key, with a value of 30. This means that our textbox object will now be rendered with text whose font size is 30px.

<!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>Passing the fontSize property as key with a custom value</h2>
   <p>You can see the font size is 30 now which is slightly smaller than the default</p>
   <canvas id="canvas"></canvas>
   <script>
      // Initiate a canvas instance
      var canvas = new fabric.Canvas("canvas");
      canvas.setWidth(document.body.scrollWidth);
      canvas.setHeight(250);

      // Initiate a textbox object
      var textbox = new fabric.Textbox("Impossible is for the unwilling.", {
         backgroundColor: "#e6e8fa",
         width: 400,
         left: 100,
         top: 70,
         fill: "#000060",
         fontSize: 30,
      });

      // Add it to the canvas
      canvas.add(textbox);
   </script>
</body>
</html>

Updated on: 29-Jul-2022

421 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements