Open In App

Fabric.js Image dirty Property

Last Updated : 29 Jan, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, when we set the dirty property to true then the object cache will be rerendered next render call to canvas Image using FabricJS. The canvas Image means the Image is movable and can be stretched according to requirement. Further, the Image can be customized when it comes to initial stroke color, height, width, fill color, or stroke width.

To make it possible, we are going to use a JavaScript library called FabricJS. After importing the library, we will create a canvas block in the body tag which will contain the Image. After this, we will initialize instances of Canvas and Image provided by FabricJS and set the dirty property of canvas Image and it will render the Image on the Canvas as given in the below example.

Syntax:

fabric.Image(image, {
     dirty : boolean
});

Parameters: This property accepts a single parameter as mentioned above and described below:

  • dirty: It specifies the object cache will be rerendered next render call or not.

Example: This example uses FabricJS to set the dirty property of the canvas image as shown in the below example:

HTML




<!DOCTYPE html> 
<html
  
<head
    <!-- Adding the FabricJS library -->
    <script src
    </script
</head
  
<body
    <h1 style="color: green;"
        GeeksforGeeks 
    </h1
  
    <b
        Fabric.js | Image dirty Property 
    </b
      
    <canvas id="canvas" width="400" height="300"
        style="border:2px solid #000000"
    </canvas
  
    <img src
        width="100" height="100" id="my-image"
        style="display: none;"
    <br
  
    <script
  
        // Creating the instance of canvas object 
        var canvas = new fabric.Canvas("canvas"); 
  
        // Getting the image 
        var img = document.getElementById('my-image'); 
  
        // Creating the image instance 
        var geeks = new fabric.Image(img, {
            dirty : false
        }); 
  
        canvas.add(geeks); 
        canvas.centerObject(geeks); 
    </script
</body
  
</html>


Output:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads