files/en-us/web/api/canvasrenderingcontext2d/strokerect/index.md
{{APIRef("Canvas API")}}
The
CanvasRenderingContext2D.strokeRect()
method of the Canvas 2D API draws a rectangle that is stroked (outlined) according to
the current {{domxref("CanvasRenderingContext2D.strokeStyle", "strokeStyle")}} and other
context settings.
This method draws directly to the canvas without modifying the current path, so any subsequent {{domxref("CanvasRenderingContext2D.fill()", "fill()")}} or {{domxref("CanvasRenderingContext2D.stroke()", "stroke()")}} calls will have no effect on it.
strokeRect(x, y, width, height)
The strokeRect() method draws a stroked rectangle whose starting point is
at (x, y) and whose size is specified by width and
height.
x
y
width
height
None ({{jsxref("undefined")}}).
This example draws a rectangle with a green outline using the strokeRect()
method.
<canvas id="canvas"></canvas>
The rectangle's top-left corner is at (20, 10). It has a width of 160 and a height of 100.
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.strokeStyle = "green";
ctx.strokeRect(20, 10, 160, 100);
{{ EmbedLiveSample('A_simple_stroked_rectangle', 700, 180) }}
This example draws a rectangle with a drop shadow and thick, beveled outlines.
<canvas id="canvas"></canvas>
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.shadowColor = "#dd5533";
ctx.shadowBlur = 20;
ctx.lineJoin = "bevel";
ctx.lineWidth = 15;
ctx.strokeStyle = "#3388ff";
ctx.strokeRect(30, 30, 160, 90);
{{ EmbedLiveSample('Applying_various_context_settings', 700, 180) }}
{{Specifications}}
{{Compat}}