How to set the text alignment of Text using FabricJS?

FabricJSJavascriptHTML5 Canvas

In this tutorial, we are going to learn how to set the text alignment of text in Text using FabricJS. We can display text on canvas by adding an instance of fabric.Text. Not only does it allow us to move, scale and change the dimensions of the text but it also provides additional functionality like text alignment, text decoration, line height which can be obtained by the properties textAlign, underline and lineHeight respectively. Similarly, we can also set its text alignment by using the textAlign property.

Syntax

new fabric.Text(text: String , { textAlign : String }: Object)

Parameters

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

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

Options Keys

  • textAlign − This property accepts a String as a value which allows us to control the possible values of text alignment. Its default value is left. The other possible values are “center”, “right”, “justify”, “justify-left”, justify-center” and “justify-right” which are explained below:

    • center − Aligns the text at the center.y

    • right − Aligns the text to the right.

    • justify − Stretches the lines such that each line has same distance from the both left and right edges of the text object.

    • justify-left − Stretches the lines such that each line has same distance from the left-edge of the text object.

    • justify-center − Centers each line leaving different distance from both right and left edges.

    • justify-right − Stretches the lines such that each line has same distance from the right-edge of the text object.

Example 1

Default appearance of the Text object

Let’s see a code example to see how our text object looks like when the textAlign property is not used. In this case, our text will be aligned towards the left.

<!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 Text object</h2> <p>You can see that the text alignment is towards left</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 text object var text = new fabric.Text("Add sample
text here."
, { width: 300, left: 60, top: 70, fill: "orange", }); // Add it to the canvas canvas.add(text); </script> </body> </html>

Example 2

Passing the textAlign property as key with a value

In this example, we will see how assigning a value to the textAlign property changes the alignment of the text inside the text object in our canvas. Since we have passed the value as “right”, the text will now be aligned towards right.

<!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 textAlign property as key with a value</h2> <p>You can see that the text alignment is towards right</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 text object var text = new fabric.Text("Add sample
text here."
, { width: 300, left: 60, top: 70, fill: "orange", textAlign: "right", }); // Add it to the canvas canvas.add(text); </script> </body> </html>
raja
Updated on 14-Sep-2022 11:34:58

Advertisements