In this tutorial we will learn how to check if an Image object matches Another object using FabricJS. We can create an Image object by creating an instance fabric.Image. Since it is one of the basic elements of FabricJS, we can also easily Customize it by applying properties such as angle, opacity, and more. In order to check if the image To intersect an object with another object, we use the intersectsWithObject method.
intersectsWithObject(other: Object, absolute: Boolean, calculate:Boolean ): Boolean
other - This parameter accepts an object which specifies the object we want to test.
absolute(optional) - This parameter accepts a String value that specifies whether to use coordinates without a viewportTransform. This parameter is optional.
Calculation (optional) - This parameter accepts a Boolean value that specifies whether to use the coordinates of the current location. This parameter is optional.
Let's look at a code example to see the output logged when intersectsWithObject Instructions. intersectsWithObject The method checks whether it returns true or false An image object intersects another object. Here we initialize two rectangles The objects are Rectangle 1 and Rectangle 2. Since our image object is related to Rectangle 1, returns true.
<!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 intersectsWithObject method</h2> <p>You can open console from dev tools and see the logged output</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, }); // Initiate a rectangle object var rectangleRed = new fabric.Rect({ width: 60, height: 20, top: 40, left: 80, fill: "red", strokeWidth: 6, }); // Initiate another rectangle object var rectangleBlue = new fabric.Rect({ width: 20, height: 40, top: 70, left: 520, fill: "blue", }); // Add them to the canvas canvas.add(image); canvas.add(rectangleRed); canvas.add(rectangleBlue); // Using intersectsWithObject method console.log( "Does the image object intersect with rectangleRed?: ", image.intersectsWithObject(rectangleRed) ); console.log( "Does the image object intersect with rectangleBlue?: ", image.intersectsWithObject(rectangleBlue) ); </script> </body> </html>
In this example, we use the intersectsWithObject method along with different object to demonstrate that this method can be used on any object.
<!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 intersectsWithObject method with different objects</h2> <p>You can open console from dev tools and see the logged output</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, }); // Initiate a triangle object var triangle = new fabric.Triangle({ width: 90, height: 70, top: 40, left: 80, fill: "red", strokeWidth: 6, }); // Initiate a circle object var circle = new fabric.Circle({ radius: 40, top: 70, left: 520, fill: "blue", }); // Add them to the canvas canvas.add(image); canvas.add(triangle); canvas.add(circle); // Using intersectsWithObject method console.log( "Does the image object intersect with triangle?: ", image.intersectsWithObject(triangle) ); console.log( "Does the image object intersect with circle?: ", image.intersectsWithObject(circle) ); </script> </body> </html>
In this tutorial, we use two examples to demonstrate how to check whether an Image object Intersect another object using FabricJS.
The above is the detailed content of How to check if an Image object intersects another object using FabricJS?. For more information, please follow other related articles on the PHP Chinese website!