- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to add dashed stroke to a Rectangle using FabricJS?
In this tutorial, we are going to learn how to add a dashed stroke to a Rectangle 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 fabric.Rect class and add it to the canvas. The strokeDashArray property allows us to specify a dash pattern for the object's stroke.
Syntax
new fabric.Rect( { strokeDashArray: Array }: Object)
Parameters
Options (optional) − This parameter is an Object which provides additional customizations to our rectangle. Using this parameter colour, cursor, stroke width and a lot of other properties can be changed related to the object of which strokeDashArray is a property.
Options Keys
strokeDashArray − This property allows us to specify a dash pattern for the object’s stroke. We can achieve this by passing it an Array. For example, if we pass an array with values [2,3], it means a dash pattern of 2px dash and 3px gap and repeating this pattern infinitely.
Example 1
Default appearance of an object’s stroke
Let’s see a code example that depicts the default appearance of the stroke of a rectangle object. Since we have not used the strokeDashArray property, there is no dash pattern being displayed.
<!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>Default appearance of an object’s stroke</h2> <p>You can see that there is no dashed stroke on the rectangle</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: 70, width: 170, height: 70, fill: "#f4f0ec", stroke: "#2a52be", strokeWidth: 7, }); // Add it to the canvas canvas.add(rect); </script> </body> </html>
Example 2
Passing strokeDashArray property as key
In this example, we are passing the strokeDashArray property a value of [9,2]. This means that a dash pattern will be created such that there is a 9px long line followed by a 2px gap, then again a 9px long line will be drawn, and so on.
<!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 strokeDashArray property as key</h2> <p>You can see now a dashed stroke has been added around the rectangle</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: 70, width: 170, height: 70, fill: "#f4f0ec", stroke: "#2a52be", strokeWidth: 7, strokeDashArray: [9, 2], }); // Add it to the canvas canvas.add(rect); </script> </body> </html>
- Related Articles
- How to add dashed stroke to a Triangle using FabricJS?
- How to add dashed stroke to a Textbox using FabricJS?
- How to add dashed stroke to a Circle using FabricJS?
- How to add dashed stroke to an Ellipse using FabricJS?
- How to add stroke to a Rectangle using FabricJS?
- How to add stroke to a Circle using FabricJS?
- How to add stroke to a Triangle using FabricJS?
- How to add stroke to a Textbox using FabricJS?
- How to add stroke to IText using FabricJS?
- How to add stroke to Text using FabricJS?
- How to add stroke to an Ellipse using FabricJS?
- How to maintain stroke width of a Rectangle while scaling using FabricJS?
- How to add curves to a Rectangle using FabricJS?
- How to add shadow to a Rectangle using FabricJS?
- How to set the width of stroke of Rectangle using FabricJS?
