菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

HTML Canvas 矩形


HTML Canvas 矩形

在 canvas 中绘制矩形最常用的三种方法是:

  • rect() 方法
  • fillRect() 方法
  • strokeRect() 方法

rect() 方法

rect() 方法定义一个矩形。

rect() 方法具有以下参数: 

参数 描述
x 矩形左上角的 x 坐标
y 矩形左上角的 y 坐标
width 矩形的宽度(以像素为单位)
height 矩形的高度(以像素为单位)

示例

使用 rect() 定义一个 150*100 像素的矩形,从位置 (10,10) 开始。然后使用 stroke() 实际绘制矩形。

抱歉,您的浏览器不支持 canvas。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

ctx.rect(10,10, 150,100);
ctx.stroke();
</script>
自己动手试一试 »

请注意,rect() 方法不会绘制矩形(它只定义它)。因此,您还需要使用 stroke() 方法(或 fill() 方法)来实际绘制它。


fillRect() 方法

fillRect() 方法绘制一个填充矩形。

fillRect() 方法具有以下参数:  

参数 描述
x 矩形左上角的 x 坐标
y 矩形左上角的 y 坐标
width 矩形的宽度(以像素为单位)
height 矩形的高度(以像素为单位)

填充颜色通过 fillStyle 属性指定。如果未设置 fillStyle 属性,则默认填充颜色为黑色。

示例

使用 fillRect() 绘制一个从位置 (10,10) 开始的填充 150*100 像素矩形。

抱歉,您的浏览器不支持 canvas。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

ctx.fillRect(10,10, 150,100);
</script>
自己动手试一试 »

示例

使用 fillStyle 属性设置填充颜色。

抱歉,您的浏览器不支持 canvas。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

ctx.fillStyle = "pink";
ctx.fillRect(10,10, 150,100);
</script>
自己动手试一试 »


strokeRect() 方法

strokeRect() 方法绘制一个带描边的(轮廓)矩形。

strokeRect() 方法具有以下参数:  

参数 描述
x 矩形左上角的 x 坐标
y 矩形左上角的 y 坐标
width 矩形的宽度(以像素为单位)
height 矩形的高度(以像素为单位)

描边颜色通过 strokeStyle 属性指定。如果未设置 strokeStyle 属性,则默认描边颜色为黑色。

示例

使用 strokeRect() 绘制一个从位置 (10,10) 开始的带描边的 150*100 像素矩形。

抱歉,您的浏览器不支持 canvas。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

ctx.strokeRect(10,10, 150,100);
</script>
自己动手试一试 »

示例

使用 strokeStyle 属性设置轮廓的颜色。

抱歉,您的浏览器不支持 canvas。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

ctx.strokeStyle = "blue";
ctx.strokeRect(10,10, 150,100);
</script>
自己动手试一试 »

更多示例

示例

使用 rect() 方法创建三个矩形。

抱歉,您的浏览器不支持 canvas。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

// 红色矩形
ctx.beginPath();
ctx.lineWidth = "6";
ctx.strokeStyle = "red";
ctx.rect(5, 5, 290, 140);
ctx.stroke();

// 绿色矩形
ctx.beginPath();
ctx.lineWidth = "4";
ctx.strokeStyle = "green";
ctx.rect(30, 30, 50, 50);
ctx.stroke();

// 蓝色矩形
ctx.beginPath();
ctx.lineWidth = "10";
ctx.strokeStyle = "blue";
ctx.rect(50, 50, 150, 80);
ctx.stroke();
</script>
自己动手试一试 »

示例

使用 strokeRect() 方法,用更少的代码获得与上面相同的结果。

抱歉,您的浏览器不支持 canvas。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

// 红色矩形
ctx.lineWidth = "6";
ctx.strokeStyle = "red";
ctx.strokeRect(5, 5, 290, 140);

// 绿色矩形
ctx.lineWidth = "4";
ctx.strokeStyle = "green";
ctx.strokeRect(30, 30, 50, 50);

// 蓝色矩形
ctx.lineWidth = "10";
ctx.strokeStyle = "blue";
ctx.strokeRect(50, 50, 150, 80);
</script>
自己动手试一试 »

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持