Menu
×
   ❮     
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 画布矩形


HTML 画布矩形

在画布中绘制矩形最常用的三种方法是

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

rect() 方法

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

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

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

示例

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

抱歉,您的浏览器不支持画布。
<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() 绘制一个填充的 150*100 像素的矩形,从位置 (10,10) 开始

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

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

示例

使用 fillStyle 属性设置填充颜色

抱歉,您的浏览器不支持画布。
<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() 绘制一个描边的 150*100 像素的矩形,从位置 (10,10) 开始

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

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

示例

使用 strokeStyle 属性设置轮廓颜色

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

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

更多示例

示例

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

抱歉,您的浏览器不支持画布。
<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() 方法获得与上面相同的结果,代码更少

抱歉,您的浏览器不支持画布。
<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>
自己试一试 »

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.