How to create an Object representation of an Image object using FabricJS?


In this tutorial, we are going to learn how to create an Object representation of an Image object using FabricJS. We can create an Image object by creating an instance of fabric.Image. Since it is one of the basic elements of FabricJS, we can also easily customize it by applying properties like angle, opacity etc. In order to create an Object representation of an Image object, we use the toObject method.

Syntax

toObject(propertiesToInclude: Array): Object

Parameters

  • propertiesToInclude − This parameter accepts an Array which contains any properties we might want to additionally include in the output. This parameter is optional.

Using the toObject method

Example

Let’s see a code example to see the logged output when the toObject method is used. In this case, an Object representation of the Image instance 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 toObject method</h2> <p> You can open console from dev tools and see that the logged output contains the Object representation of the image instance </p> <canvas id="canvas"></canvas> <img src="https://www.tutorialspoint.com/images/logo.png" id="img1" style="display: none" /> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Initiating the image element var imageElement = document.getElementById("img1"); // Initiate an Image object var image = new fabric.Image(imageElement, { top: 50, left: 110, }); // Add it to the canvas canvas.add(image); // Using the toObject method console.log( "Object representation of the Image instance is: ", image.toObject() ); </script> </body> </html>

Using toObject method to add additional properties

Example

Let’s see a code example to see how we can include additional properties by using the toObject method. In this case, we have added a custom property called “PropertyName”. We can pass the specific property to the fabric.Image instance as second argument in options object and pass the same key to the toObject method.

<!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 toObject method to add additional properties</h2> <p> You can open console from dev tools and see that the logged output contains added property called PropertyName </p> <canvas id="canvas"></canvas> <img src="https://www.tutorialspoint.com/images/logo.png" id="img1" style="display: none" /> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Initiating the image element var imageElement = document.getElementById("img1"); // Initiate an Image object with PropertyName key // passed in options object var image = new fabric.Image(imageElement, { top: 50, left: 110, PropertyName: "property", }); // Add it to the canvas canvas.add(image); // Using the toObject method console.log( "Object representation of the Image instance is: ", image.toObject(["PropertyName"]) ); </script> </body> </html>

Conclusion

In this tutorial, we used two examples to demonstrate how you can create an Object representation of an Image using FabricJS.

Updated on: 26-Oct-2022

202 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements