- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to create a canvas with background image using FabricJS?
In this article, we are going to create a canvas with a background image using FabricJS. There are two ways available in FabricJS, using which we can change the background image of the canvas.
First method is by using the Canvas class itself and passing backgroundImage in the second parameter of the class.
Second method is to use the setBackgroundColor method. Let's see into each of them with an example.
Method 1: Using the Canvas Class
In the first method, we will be using the Canvas class itself by passing the backgroundImage in the second parameter of the class.
Syntax
new fabric.Canvas(element: HTMLElement|String, {backgroundImage: fabric.Image}: Object)
Parameters
element − This parameter is the <canvas> element itself which can be derived using document.getElementById() or the id of the <canvas> element itself. The FabricJS canvas will be initialized on this element.
options (optional) − This parameter is an Object which provides additional customizations to our canvas and backgroundImage is one of them which will help us customize the background image. backgroundImage takes fabric.Image as a value that specifies the background image of the canvas.
Example 1
Check the following example that demonstrates how to create a Canvas with a background image using FabricJS. Since FabricJS works on top of Canvas API, we will create an HTML element using <canvas> tag and give it an id. Further, we will pass that id to the FabricJS API so that it can initialize the FabricJS Canvas instance on the <canvas> tag and in the second argument we will pass an object with a key backgroundImage and the value as the URL of image.
<!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> Creating a Canvas with a Background Image in Fabric.js </h2> <canvas id="canvas"> </canvas> <script> //Initiate a canvas instance var canvas = new fabric.Canvas("canvas", { backgroundImage: "https://www.tutorialspoint.com/tools/images/logo.png", }); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); </script> </body> </html>
Method 2: Using the setBackgroundImage method
We can also use the setBackgroundImage method available from the Canvas class after creating our canvas. Let's look closely into how we can achieve this.
Syntax
canvas.setBackgroundImage(image: fabric.Image | String, callback: function, options: Object)
Parameters
image − This parameter accepts fabric.Image or a String which refers to the url of an image that we want to set the background to.
callback − This parameter takes a callback function which is invoked when the image is loaded and set as background.
options (optional): − This parameter is an object where we can specify options for our background image. We can change the opacity, scale the image up or scale it down, etc.
Example 2
Firstly, we will assign our image URL to a variable and use that as the first parameter. In the second parameter, we will use the renderAll() method to bind the canvas after setting the background image, as given in the code below −
<!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> Creating a Canvas with a Background Image in Fabric.js </h2> <p> Here we have used the setBackgroundImage method. </p> <canvas id="canvas"> </canvas> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); // Image URL var imageURL = "https://www.tutorialspoint.com/tools/images/logo.png"; canvas.setBackgroundImage(imageURL, canvas.renderAll.bind(canvas), { backgroundImageOpacity: 1, originX: "left", originY: "top", top: 90, left: 70, scaleX: 1.1, scaleY: 1.1, }); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); </script> </body> </html>
- Related Articles
- How to create a canvas with Image using FabricJS?
- How to create a canvas with a background color using FabricJS?
- How to create a canvas with Circle using FabricJS?
- How to create a canvas with Triangle using FabricJS?
- How to create a canvas with Rectangle using FabricJS?
- How to create a canvas with IText using FabricJS?
- How to create a canvas with Text using FabricJS?
- How to create a canvas with Textbox using FabricJS?
- How to create a canvas with Polyline using FabricJS?
- How to create a canvas with Line using FabricJS?
- How to create a canvas with Polygon using FabricJS?
- How to create a canvas with a class using FabricJS?
- How to create a canvas using FabricJS?
- How to create a Triangle with background colour using FabricJS?
- How to create a Rectangle with background colour using FabricJS?
