In this tutorial, we will learn how to check if an IText object is populated using FabricJS. The IText class was introduced in FabricJS version 1.4, which extends Fabric.Text and is used to create IText instances. IText instances give us the freedom to select, cut, paste or add new text without additional configuration. There are also various supported key combinations and mouse/touch combinations to make text interactive that are not available in Text.
However, IText-based Textbox allows us to resize the text rectangle and wrap it automatically. This is not the case for IText, as the height does not adjust based on line breaks. We can manipulate IText objects by using various properties. Likewise, we can check if the IText object is filled using the hasFill method.
hasFill()
Use the hasFill method when using transparent filling
Let's look at a code example to see the output logged when the hasFill method is used with transparent fill. The hasFill method returns true if the object has a fill color. In this example, we set the fill color to "Transparent". Therefore, the logged output will be false.
<!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>Using hasFill method when transparent fill is used</h2> <p>You can open console from dev tools and see that the logged output is false</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 an itext object var itext = new fabric.IText( "Add sample text here.Lorem ipsum dolor sit amet",{ width: 300, left: 60, top: 70, fill: "transparent", fontStyle: "bold", backgroundColor: "#f8f4ff", stroke: "black", } ); // Add it to the canvas canvas.add(itext); // Using the hasFill method console.log("The value is: ", itext.hasFill()); </script> </body> </html>
Use hasFill method
Let's look at a code example to see the output logged when using the hasFill method. In this case, since the IText object has a fill color, true will be returned.
<!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>Using the hasFill method</h2> <p>You can open console from dev tools and see that the value is being displayed in the console</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 an itext object var itext = new fabric.IText( "Add Sample Text HereLorem ipsum dolor sit amet",{ width: 300, left: 60, top: 70, fill: "#b666d2", fontStyle: "bold", backgroundColor: "#f8f4ff", stroke: "black", } ); // Using the hasFill method console.log("The value is: ", itext.hasFill()); // Add it to the canvas canvas.add(itext); </script> </body> </html>
The above is the detailed content of How to check if an IText object is populated using FabricJS?. For more information, please follow other related articles on the PHP Chinese website!