In this tutorial, we will learn how to flip a Textbox object horizontally using FabricJS. We can customize, stretch or move the text written in the text box. In order to create a textbox, we have to create an instance of the Fabric.Textbox class and add it to the canvas. We can flip the text box object horizontally using the FlipX property.
new fabric.Textbox(text: String, { flipX: Boolean }: Object)
text - This parameter accepts a string, which is We are going to use the text string we want to display in our text box.
Options (optional) - This parameter is an object that provides additional customization of our text box. Using this parameter, you can change object-related properties such as color, cursor, stroke width, and many other properties. flipX is a property of the object.
##flipX - This property accepts a Boolean value, allows us to flip the object horizontally.
Passing FlipX as key with "false" value
Let's look at a code example , which shows us the default orientation of textbox objects in FabricJS. Since we passed a False value to theflipX property, the text will not flip horizontally.
<!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 flipX as key with a "false" value</h2> <p>You can see that the text has not flipped horizontally</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("Each day provides its own gifts.", { backgroundColor: "#e3dac9", width: 400, left: 70, top: 70, flipX: false, }); // Create gradient fill textbox.set( "fill", new fabric.Gradient({ type: "linear", coords: { x1: 0, y1: 0, x2: 100, y2: 0 }, colorStops: [ { offset: 0, color: "#545a2c" }, { offset: 1, color: "#6495ed" }, ], }) ); // Add it to the canvas canvas.add(textbox); </script> </body> </html>
Passing the FlipX attribute as a key with a value of "true"
In this example we have a width of 200px The text box object has a horizontal linear gradient fill. When we apply the flipX property to the text box object, the text flips horizontally, so we see the gradient and the text flip as well.<!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 flipX property as key with a ‘true’ value</h2> <p>You can see that the text has flipped horizontally</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("Each day provides its own gifts.", { backgroundColor: "#e3dac9", width: 400, left: 70, top: 70, flipX: true, }); // Create gradient fill textbox.set( "fill", new fabric.Gradient({ type: "linear", coords: { x1: 0, y1: 0, x2: 100, y2: 0 }, colorStops: [ { offset: 0, color: "#545a2c" }, { offset: 1, color: "#6495ed" }, ], }) ); // Add it to the canvas canvas.add(textbox); </script> </body> </html>
The above is the detailed content of How to flip textbox horizontally using FabricJS?. For more information, please follow other related articles on the PHP Chinese website!