Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
How to add underline to Text using FabricJS?
In this tutorial, we are going to learn how to add underline to 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 overline, line height which can be obtained by the properties textAlign, overline and lineHeight respectively. Similarly we can also add underline to text by using the underline property.
Syntax
new fabric.Text(text: String , { underline: Boolean }: 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 underline is a property.
Options Keys
underline ? This property accepts a Boolean value which allows us to add underline to our text.
Example 1: Default Text Without Underline
Let's see a code example to see how our text object looks when underline property is not used. In this case, there is no text decoration underline.
<!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 no text decoration underline is present</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 \ntext here.", {
width: 300,
left: 50,
top: 70,
fill: "green",
});
// Add it to the canvas
canvas.add(text);
</script>
</body>
</html>
Example 2: Adding Underline to Text
In this example, we will see how we can add text decoration underline by using the underline property. The underline property accepts Boolean values and hence we have passed it a true value which will add the underline to our text.
<!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 underline property as key with a true value</h2>
<p>You can see that the text decoration underline is present now</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 \ntext here.", {
width: 300,
left: 50,
top: 70,
fill: "green",
underline: true,
});
// Add it to the canvas
canvas.add(text);
</script>
</body>
</html>
Key Points
The
underlineproperty is a Boolean that defaults tofalseSetting
underline: trueadds a horizontal line beneath the textThis property works with multi-line text and preserves formatting
Conclusion
The underline property in FabricJS provides an easy way to add text decoration to your canvas text objects. Simply set it to true in the options object to apply underline styling to your text.
