How to create a JSON representation of an Image object using FabricJS?


In this tutorial, we are going to learn how to create a JSON 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 a JSON representation of an Image object, we use the toJSON method.

Syntax

toJSON(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 toJSON method

Example

Let’s see a code example to see the logged output when the toJSON method is used. In this case, a JSON 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 toJSON method</h2> <p> You can open console from dev tools and see that the logged output contains the JSON 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 toJSON method console.log( "JSON representation of the Image instance is: ", image.toJSON() ); </script> </body> </html>

Using toJSON method to add additional properties

Example

Let’s see a code example to see how we can include additional properties by using the toJSON method. In this case, we have added a custom property called “name”. We can pass the specific property to the fabric.Image instance as second argument in options object and pass same key to the toJSON 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 toJSON method to add additional properties</h2> <p> You can open console from dev tools and see that the logged output contains added property called name </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 name key // passed in options object var image = new fabric.Image(imageElement, { top: 50, left: 110, name: "Image instance", }); // Add it to the canvas canvas.add(image); // Using the toJSON method console.log( "JSON representation of the Image instance is: ", image.toJSON(["name"]) ); </script> </body> </html>

Conclusion

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

Updated on: 26-Oct-2022

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements