The CanvasRenderingContext2D.setLineDash() method of the Canvas 2D API sets the line dash pattern.
Syntax
void ctx.setLineDash(segments);
Parameters
segments- An
Array. A list of numbers that specifies distances to alternately draw a line and a gap (in coordinate space units). If the number of elements in the array is odd, the elements of the array get copied and concatenated. For example,[5, 15, 25]will become[5, 15, 25, 5, 15, 25].
Examples
Using the setLineDash method
This is just a simple code snippet which uses the setLineDash method to draw a dashed line.
HTML
<canvas id="canvas"></canvas>
JavaScript
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.setLineDash([5, 15]);
ctx.beginPath();
ctx.moveTo(0,100);
ctx.lineTo(400, 100);
ctx.stroke();
Edit the code below and see your changes update live in the canvas:
Specifications
| Specification | Status | Comment |
|---|---|---|
| WHATWG HTML Living Standard The definition of 'CanvasRenderingContext2D.setLineDash' in that specification. |
Living Standard |
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | (Yes) | 27 (27) | 11 | (Yes) | (Yes) |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 27.0 (27) | (Yes) | (Yes) | (Yes) |
Gecko-specific notes
- Starting with Gecko 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4), the non-standard and deprecated property
mozDashhas been implemented to set and get a dash list. This property will be deprecated and removed in the future, see bug 931643. UsesetLineDash()instead.
WebKit-specific notes
- In WebKit-based browsers (e.g. Safari), the non-standard and deprecated property
webkitLineDashis implemented besides this method. UsesetLineDash()instead.
See also
- The interface defining it,
CanvasRenderingContext2D CanvasRenderingContext2D.getLineDash()CanvasRenderingContext2D.lineDashOffset