How to make a Rectangle invisible using FabricJS?


<p>In this tutorial, we are going to learn how to make a Rectangle invisible using FabricJS. Rectangle is one of the various shapes provided by FabricJS. In order to create a rectangle, we will have to create an instance of <em>fabric.Rect</em> class and add it to the canvas.</p><p>Our rectangle object can be customized in various ways like changing its dimensions, adding a background color or by making it visible or invisible. We can do this by using the <em>visible</em> property.</p><h2>Syntax</h2><pre class="result notranslate">new fabric.Rect( { visible: Boolean }: Object)</pre><h2>Parameters</h2><ul class="list"><li><p><strong>Options (optional)</strong> − This parameter is an <em>Object</em> which provides additional customizations to our rectangle. Using this parameter, properties such as colour, cursor, stroke width and a lot of other properties can be changed related to the object of which <em>visible</em> is a property.</p></li></ul><h2>Options keys</h2><ul class="list"><li><p><strong>visible</strong> − This property accepts a <strong>Boolean</strong> value which allows us to render an object onto the canvas. Its default value is<em> true.</em></p></li></ul><h2>Example 1</h2><p><strong>Passing visible property as key with a ‘true’ value</strong></p><p>Let’s see a code example to understand what happens when we pass the visible property a true value. By assigning the value as "True", we make sure that our Rectangle object is rendered onto the canvas. This is also the default behaviour in FabricJS.</p><pre class="demo-code notranslate language-javascript" data-lang="javascript"><!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>Passing visible property as key with a "True" value</h2>    <p>You can see the rectangle object has been rendered onto the canvas.</p>    <canvas id="canvas"></canvas>    <script>       // Initiate a canvas instance       var canvas = new fabric.Canvas("canvas");       canvas.setWidth(document.body.scrollWidth);       canvas.setHeight(250);       // Initiate a rectangle object       var rect = new fabric.Rect({          left: 55,          top: 60,          width: 170,          height: 70,          fill: "#f4f0ec",          stroke: "#2a52be",          strokeWidth: 5,          visible: true,       });       // Add it to the canvas       canvas.add(rect);    </script> </body> </html></pre><h2>Example</h2><p><strong>Passing visible property as key with a "False" value</strong></p><p>In this example, we are passing the <em>visible</em> property as key with a false value. Assigning a false value will make sure that our rectangle object does not get rendered onto the canvas. It simply does not make the object ‘invisible’ but gets rid of it altogether. It can be used to remove an object from canvas without removing its code.</p><pre class="demo-code notranslate language-javascript" data-lang="javascript"><!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>Passing visible property as key with a "False" value</h2>    <p>You can see the rectangle object has not been rendered onto the canvas.</p>    <canvas id="canvas"></canvas>    <script>       // Initiate a canvas instance       var canvas = new fabric.Canvas("canvas");       canvas.setWidth(document.body.scrollWidth);       canvas.setHeight(250);       // Initiate a rectangle object       var rect = new fabric.Rect({          left: 55,          top: 60,          width: 170,          height: 70,          fill: "#f4f0ec",          stroke: "#2a52be",          strokeWidth: 5,          visible: false,       });       // Add it to the canvas       canvas.add(rect);    </script> </body> </html></pre>

Updated on: 27-Jun-2022

165 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements