How to set the angle of skew on x-axis of Triangle using FabricJS?


<p>In this tutorial, we are going to learn how to set the angle of skew on the x-axis of a Triangle using FabricJS. Triangle is one of the various shapes provided by FabricJS. In order to create a triangle, we will have to create an instance of <em>fabric.Triangle</em> class and add it to the canvas.</p><p>Our triangle object can be customized in various ways like changing its dimensions, adding a background color or by changing the angle of skew on the x-axis. We can do this by using the <em>skewX</em> property.</p><h2>Syntax</h2><pre class="just-code notranslate language-javascript" data-lang="javascript">new fabric.Triangle({ skewX : Number }: Object)</pre><h2>Parameters</h2><ul class="list"><li><p><strong>Options</strong><strong> (optional)</strong> − This parameter is an <em>Object</em> which provides additional customizations to our triangle. 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>skewX</em> is a property.</p></li></ul><h2>Options Keys</h2><ul class="list"><li><p><strong>skewX</strong> − This property accepts a <strong>Number</strong> value which determines the angle of skew on x-axis of an object.</p></li></ul><h2>Example 1</h2><p><strong>When the skewX property is not applied</strong></p><p>Let's see a code example to understand how our triangle object appears when the skewX property is not applied. In this case, there will be no skew by any angle in our triangle object.</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>When the skewX property is not applied</h2>    <p>You can see there is no skew by any angle on the triangle by default</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 triangle object       var triangle = new fabric.Triangle({          left: 120,          top: 70,          width: 90,          height: 80,          fill: "#b7410e",          stroke: "#f5deb3",          strokeWidth: 7,       });       // Add it to the canvas       canvas.add(triangle);    </script> </body> </html></pre><h2>Example 2</h2><p><strong>Passing <em>skewX</em> as key and assigning a custom value to it.</strong></p><p>In this example, we will see how we can assign a numerical value to the <em>skewX</em> property. The value that is being passed will determine the skew along the X-axis.</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 skewX as key and assigning it a custom value</h2>    <p>You can see the triangle has skewed on x-axis at a 50 degree angle</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 triangle object       var triangle = new fabric.Triangle({          left: 120,          top: 70,          width: 90,          height: 80,          fill: "#b7410e",          stroke: "#f5deb3",          strokeWidth: 7,          skewX: 50,       });       // Add it to the canvas       canvas.add(triangle);    </script> </body> </html></pre>

Updated on: 27-Jun-2022

83 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements