Firefox Tomorrow

web api instance property

CanvasRenderingContext2D: strokeStyle property

View on MDN ↗

The CanvasRenderingContext2D.strokeStyle property of the Canvas 2D API specifies the color, gradient, or pattern to use for the strokes (outlines) around shapes. The default is black.

[!NOTE] For more examples of stroke and fill styles, see Applying styles and color in the Canvas tutorial.

Value

One of the following:

Examples

Changing the stroke color of a shape

This example applies a blue stroke color to a rectangle.

HTML

<canvas id="canvas"></canvas>

JavaScript

const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");

ctx.strokeStyle = "blue";
ctx.strokeRect(10, 10, 100, 100);

Result

Interactive exampleOpen the canonical MDN source to run this embedded demo.

Creating multiple stroke colors using loops

In this example, we use two for loops and the arc() method to draw a grid of circles, each having a different stroke color. To achieve this, we use the two variables i and j to generate a unique RGB color for each circle, and only modify the green and blue values. (The red channel has a fixed value.)

<canvas id="canvas" width="150" height="150"></canvas>
const ctx = document.getElementById("canvas").getContext("2d");

for (let i = 0; i < 6; i++) {
  for (let j = 0; j < 6; j++) {
    ctx.strokeStyle = `rgb(
        0
        ${Math.floor(255 - 42.5 * i)}
        ${Math.floor(255 - 42.5 * j)})`;
    ctx.beginPath();
    ctx.arc(12.5 + j * 25, 12.5 + i * 25, 10, 0, Math.PI * 2, true);
    ctx.stroke();
  }
}

The result looks like this:

Interactive exampleOpen the canonical MDN source to run this embedded demo.

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.

In WebKit- and Blink-based browsers, the non-standard and deprecated method ctx.setStrokeColor() is implemented in addition to this property.

setStrokeColor(color);
setStrokeColor(color, alpha);
setStrokeColor(grayLevel);
setStrokeColor(grayLevel, alpha);
setStrokeColor(r, g, b, a);
setStrokeColor(c, m, y, k, a);

See also