Fabric.js is a javascript library that is used to work with canvas. The canvas image is one of the class of fabric.js that is used to create image instances. The canvas image means the Image is movable and can be stretched according to requirement. The cropX property of the image is used to crop a certain amount of the canvas image. The size is given in pixels.
Approach: First import the fabric.js library. After importing the library, create a canvas block in the body tag which will contain the image. After this, initialize an instance of Canvas and image class provided by Fabric.JS and give the width to be cropped of the canvas image in pixels using the cropX property of the image object.
Syntax:
fabric.Image(image, { cropX:Number });
Parameters: The above function takes two parameters as mentioned above and described below:
- image: This parameter takes the image.
- cropX: This parameter is the amount of image crop in pixels from the original size of the image.
Example: This example uses FabricJS to crop the section of the canvas image along the x-axis as shown in the below given example.
<!DOCTYPE html> < html > < head > <!-- Adding the FabricJS library --> < script src = </ script > </ head > < body > < h1 style = "color: green;" >neveropen</ h1 > < b >Fabric.js | Image cropX 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 > < button onclick = "cropX()" >Click me</ button > < script > // Create 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 imgInstance = new fabric.Image(img, { }); function cropX() { imgInstance = new fabric.Image(img, { cropX:80 }); canvas.clear(); canvas.add(imgInstance); } // Rendering the image to canvas canvas.add(imgInstance); </ script > </ body > </ html > |
Output:
Before clicking the button:
After clicking the button: