How to create a Triangle with border colour using FabricJS?

In this tutorial, we are going to create a Triangle with border colour 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 fabric.Triangle class and add it to the canvas.

Since FabricJS is extremely flexible, we are allowed to customize our Triangle object in any way we like. One of the properties that FabricJS provides is borderColor which allows us to manipulate the colour of the border when our object is active.

Syntax

new fabric.Triangle({ borderColor: String }: Object)

Parameters

  • Options (optional) ? This parameter is an Object 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 borderColor is a property.

Options Keys

  • borderColor ? This property accepts a String which specifies the colour of the border when our triangle object is selected. Its default value is rgb(178,204,255).

Example 1: Using String Color Value

Let's see a code example of how we can assign a value to the borderColor property. We have assigned the value "blue" to the borderColor key which helps to create the blue border on selection of our triangle 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>Passing borderColour key with a String value</h2>
   <p>Select the triangle to see the border colour</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: 105,
         top: 60,
         width: 100,
         height: 70,
         fill: "#deb887",
         borderColor: "blue",
      });

      // Add it to the canvas
      canvas.add(triangle);
   </script>
</body>
</html>

Example 2: Using RGB Color Value

Instead of passing simple colour names as a String, we can also use RGB values, whose components specify the amount of Red, Green, Blue. In this example, we have used rgb(128,0,128) which is the rgb value for the colour purple.

<!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 an RGB value to the borderColor key</h2>
   <p>Select the triangle to see the border colour</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: 105,
         top: 60,
         width: 100,
         height: 70,
         fill: "#deb887",
         borderColor: "rgb(128,0,128)",
      });

      // Add it to the canvas
      canvas.add(triangle);
   </script>
</body>
</html>

Key Points

  • The borderColor property only becomes visible when the triangle object is selected/active on the canvas.

  • You can use various color formats including color names ("blue", "red"), hex values ("#ff0000"), or RGB values ("rgb(255,0,0)").

  • The default border color is a light blue: rgb(178,204,255).

Conclusion

The borderColor property in FabricJS provides an easy way to customize the selection border of triangle objects. You can use any valid CSS color format to achieve the desired visual effect when users interact with your canvas elements.

Updated on: 2026-03-15T23:19:00+05:30

268 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements