CanvasRenderingContext2D: strokeRect() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Canvas 2D API 的 CanvasRenderingContext2D.strokeRect() 方法会根据当前的 strokeStyle 和其他上下文设置,绘制一个带描边的(轮廓)矩形。

此方法直接绘制到画布上,而不会修改当前路径,因此任何后续的 fill()stroke() 调用都不会对其产生影响。

语法

js
strokeRect(x, y, width, height)

strokeRect() 方法绘制一个带描边的矩形,其起始点位于 (x, y),尺寸由 widthheight 指定。

参数

x

矩形起始点的 x 轴坐标。

y

矩形起始点的 y 轴坐标。

width

矩形的宽度。正值表示向右,负值表示向左。

height

矩形的高度。正值表示向下,负值表示向上。

返回值

无(undefined)。

示例

一个简单的描边矩形

此示例使用 strokeRect() 方法绘制一个带有绿色轮廓的矩形。

HTML

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

JavaScript

矩形的左上角位于 (20, 10)。其宽度为 160,高度为 100。

js
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.strokeStyle = "green";
ctx.strokeRect(20, 10, 160, 100);

结果

应用各种上下文设置

此示例绘制一个带有阴影和厚实斜边轮廓的矩形。

HTML

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

JavaScript

js
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);

结果

规范

规范
HTML
# dom-context-2d-strokerect-dev

浏览器兼容性

另见