Home > Article > Web Front-end > How to crop top offset in cloned image using FabricJS?
In this tutorial we will learn how to crop the top offset in a cloned image 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 and we can also customize it easily through the application Angle, opacity and other properties. To crop the top offset in the cloned image, we Use the top attribute.
cloneAsImage( callback: function, { top: Number}: Object): fabric.Object
Callback (optional) - This parameter is a function that will use the cloned image instance as the first call argument.
Options (optional) - This parameter is an optional object that provides additional customization to our cloned image . Using this parameter we can set the multiplier, crop the cloned image, remove the current object transform or can change many properties, where top is a property.
top - This property accepts a Number value, indicating that top i> must be offset be cropped. This attribute is optional.
Let's look at a code example to understand how a cloned Image object appears when top Property is not used. In this case, the cloned image will not be cropped.
<!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>Without using the top property</h2> <p>You can see that no cropping has been applied to the clone image</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 a shadow object var shadow = new fabric.Shadow({ color: "#308080", blur: 3, }); // Initiate an Image object var image = new fabric.Image(imageElement, { top: 50, left: 110, skewX: 20, shadow: shadow, }); // Using cloneAsImage method image.cloneAsImage(function(Img) { Img.set("top", 90); canvas.add(Img); }); </script> </body> </html>
In this example, we used the top attribute and passed it the value 30, which is The top offset of the cropped cloned image. Therefore, the top part will be cropped.
<!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 top property</h2> <p>You can see that cropping has been applied to the clone image</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 a shadow object var shadow = new fabric.Shadow({ color: "#308080", blur: 3, }); // Initiate an Image object var image = new fabric.Image(imageElement, { top: 50, left: 110, skewX: 20, shadow: shadow, }); // Using cloneAsImage method image.cloneAsImage( function(Img) { Img.set("top", 150); canvas.add(Img); }, { top: 30, } ); </script> </body> </html>
In this tutorial, we use two examples to demonstrate how to crop the top offset Clone image using FabricJS.
The above is the detailed content of How to crop top offset in cloned image using FabricJS?. For more information, please follow other related articles on the PHP Chinese website!