--- title: CanvasRenderingContext2D.strokeRect() slug: Web/API/CanvasRenderingContext2D/strokeRect tags: - API - Canvas translation_of: Web/API/CanvasRenderingContext2D/strokeRect ---
CanvasRenderingContext2D
.strokeRect()
是 Canvas 2D API 在 canvas 中,使用当前的绘画样式,描绘一个起点在 (x, y) 、宽度为 w 、高度为 h 的矩形的方法。
此方法直接绘制到画布而不修改当前路径,因此任何后续{{domxref("CanvasRenderingContext2D.fill()", "fill()")}} 或{{domxref("CanvasRenderingContext2D.stroke()", "stroke()")}}调用对它没有影响。
void ctx.strokeRect(x, y, width, height);
strokeRect()
方法绘制一个描边矩形,其起点为(x, y)
,其大小由宽度和高度指定。
x
y
width
height
这是一段使用 strokeRect
方法的简单的代码片段。
<canvas id="canvas"></canvas>
矩形的左上角是(20,10)。它的宽度为160,高度为100。
const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); ctx.strokeStyle = 'green'; ctx.strokeRect(20, 10, 160, 100);
{{ EmbedLiveSample('一个简单的填充矩形', 700, 180) }}
此示例绘制一个带有阴影和粗斜面轮廓的矩形。
<canvas id="canvas"></canvas>
const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); ctx.shadowColor = '#d53'; ctx.shadowBlur = 20; ctx.lineJoin = 'bevel'; ctx.lineWidth = 15; ctx.strokeStyle = '#38f'; ctx.strokeRect(30, 30, 160, 90);
{{ EmbedLiveSample('应用多种上下文设置', 700, 180) }}
Specification | Status | Comment |
---|---|---|
{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-strokerect", "CanvasRenderingContext2D.strokeRect")}} | {{Spec2('HTML WHATWG')}} |
{{Compat("api.CanvasRenderingContext2D.strokeRect")}}