如何利用HTML5 Canvas绘制矩形和圆形?

avatar
作者
筋斗云
阅读量:0
在HTML5 Canvas中,可以使用fillRect()方法绘制矩形,使用arc()fill()方法绘制圆形。

HTML5 Canvas 画图教程(9)—在 canvas 中画出矩形和圆形

如何利用HTML5 Canvas绘制矩形和圆形?

在 HTML5 的 Canvas API 中,绘制图形是一项基础且常用的功能,通过fillRect() 方法可以绘制矩形,而使用arc() 方法则能够绘制圆形或弧形,本文将详细介绍如何在 Canvas 上绘制矩形和圆形,并提供一些实用的示例代码。

绘制矩形

要在 Canvas 上绘制矩形,可以使用fillRect() 方法,该方法需要四个参数:矩形左上角的 x 坐标、y 坐标、矩形的宽度和高度。

以下是一个简单的例子,演示如何在 Canvas 上绘制一个矩形:

 <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF8">     <title>Canvas Draw Rectangle</title> </head> <body>     <canvas id="myCanvas" width="400" height="300" style="border:1px solid #000;"></canvas>     <script>         let canvas = document.getElementById('myCanvas');         let ctx = canvas.getContext('2d');                  // 定义矩形的位置和尺寸         let x = 50;         let y = 50;         let width = 200;         let height = 100;                  // 绘制矩形         ctx.fillStyle = '#FF0000'; // 设置填充颜色为红色         ctx.fillRect(x, y, width, height);     </script> </body> </html>

在上述代码中,我们首先获取了 Canvas 元素的上下文(context),然后设置了矩形的位置和大小,最后调用fillRect() 方法绘制矩形,并使用红色进行填充。

绘制圆形

要在 Canvas 上绘制圆形,可以使用arc() 方法,该方法需要五个参数:圆心的 x 坐标、y 坐标、半径、开始角度和结束角度(以弧度为单位)。

以下是一个示例,展示如何在 Canvas 上绘制一个圆形:

 <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF8">     <title>Canvas Draw Circle</title> </head> <body>     <canvas id="myCanvas" width="400" height="300" style="border:1px solid #000;"></canvas>     <script>         let canvas = document.getElementById('myCanvas');         let ctx = canvas.getContext('2d');                  // 定义圆的位置和半径         let x = 200;         let y = 150;         let radius = 75;                  // 绘制圆形         ctx.beginPath(); // 开始新的路径         ctx.arc(x, y, radius, 0, Math.PI * 2); // 绘制一个完整的圆形         ctx.closePath(); // 关闭路径         ctx.fillStyle = '#0000FF'; // 设置填充颜色为蓝色         ctx.fill(); // 填充颜色     </script> </body> </html>

在这个例子中,我们同样获取了 Canvas 上下文,并定义了圆心位置和半径,然后使用arc() 方法绘制了一个圆形,并用蓝色进行填充。

组合绘制矩形和圆形

有时我们需要在同一个 Canvas 上绘制多个形状,下面的例子展示了如何在同一张画布上绘制一个矩形和一个圆形:

 <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF8">     <title>Canvas Draw Rectangle and Circle</title> </head> <body>     <canvas id="myCanvas" width="400" height="300" style="border:1px solid #000;"></canvas>     <script>         let canvas = document.getElementById('myCanvas');         let ctx = canvas.getContext('2d');                  // 绘制矩形         let rectX = 50;         let rectY = 50;         let rectWidth = 200;         let rectHeight = 100;         ctx.fillStyle = '#FF0000'; // 设置填充颜色为红色         ctx.fillRect(rectX, rectY, rectWidth, rectHeight);                  // 绘制圆形         let circleX = 200;         let circleY = 150;         let circleRadius = 75;         ctx.beginPath(); // 开始新的路径         ctx.arc(circleX, circleY, circleRadius, 0, Math.PI * 2); // 绘制一个完整的圆形         ctx.closePath(); // 关闭路径         ctx.fillStyle = '#0000FF'; // 设置填充颜色为蓝色         ctx.fill(); // 填充颜色     </script> </body> </html>

在这个例子中,我们分别绘制了一个红色的矩形和一个蓝色的圆形,展示了如何在同一个 Canvas 上绘制多个不同的形状。

FAQs (常见问题解答)

Q1: 如何改变绘制的矩形或圆形的颜色?

A1: 你可以通过修改fillStyle 属性来改变绘制的矩形或圆形的颜色。ctx.fillStyle = '#FFFF00'; 会将颜色设置为黄色。

Q2:arc() 方法中的开始角度和结束角度是什么意思?

A2:arc() 方法中的开始角度和结束角度决定了弧的起点和终点,这些角度是以弧度表示的,其中Math.PI * 2 表示一个完整的圆。ctx.arc(x, y, radius, 0, Math.PI * 2); 会绘制一个完整的圆形,如果你只希望绘制部分弧线,可以调整开始角度和结束角度的值。ctx.arc(x, y, radius, 0, Math.PI / 2); 会绘制半圆形。


HTML5 Canvas画图教程(9)—canvas中画出矩形和圆形

目录

1、引言

2、创建Canvas元素

3、绘制矩形

如何利用HTML5 Canvas绘制矩形和圆形?

3.1 使用fillRect()方法

3.2 使用strokeRect()方法

4、绘制圆形

4.1 使用arc()方法

4.2 使用fillArc()方法

4.3 使用strokeArc()方法

5、实例代码

6、归纳

1. 引言

在HTML5中,Canvas API允许我们使用JavaScript在网页上绘制图形,本文将介绍如何在Canvas中绘制矩形和圆形。

2. 创建Canvas元素

我们需要在HTML文档中创建一个<canvas>元素,以下是一个简单的示例:

 <canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;"></canvas>

在这个例子中,我们创建了一个宽200像素、高100像素的Canvas,并添加了一个边框以便于查看。

3. 绘制矩形

矩形可以通过fillRect()strokeRect()方法绘制。

3.1 使用fillRect()方法

fillRect(x, y, width, height)方法用于绘制一个填充的矩形。

x:矩形的左上角x坐标。

y:矩形的左上角y坐标。

width:矩形的宽度。

height:矩形的高度。

以下是一个使用fillRect()方法的示例:

 var canvas = document.getElementById('myCanvas'); var ctx = canvas.getContext('2d'); ctx.fillStyle = "#FF0000"; // 设置填充颜色为红色 ctx.fillRect(20, 20, 150, 100); // 绘制填充矩形

3.2 使用strokeRect()方法

如何利用HTML5 Canvas绘制矩形和圆形?

strokeRect(x, y, width, height)方法用于绘制一个有边框的矩形。

参数与fillRect()相同。

以下是一个使用strokeRect()方法的示例:

 ctx.strokeStyle = "#0000FF"; // 设置边框颜色为蓝色 ctx.strokeRect(20, 20, 150, 100); // 绘制边框矩形

4. 绘制圆形

圆形可以通过arc()fillArc()strokeArc()方法绘制。

4.1 使用arc()方法

arc(x, y, radius, startAngle, endAngle, counterclockwise)方法用于绘制一个圆弧。

x:圆弧中心的x坐标。

y:圆弧中心的y坐标。

radius:圆弧的半径。

startAngle:圆弧的起始角度(以弧度为单位)。

endAngle:圆弧的结束角度(以弧度为单位)。

counterclockwise:一个布尔值,表示是否按照逆时针方向绘制圆弧。

以下是一个使用arc()方法的示例:

 ctx.beginPath(); ctx.arc(100, 50, 40, 0, Math.PI * 2, false); // 绘制一个完整的圆 ctx.fillStyle = "#00FF00"; // 设置填充颜色为绿色 ctx.fill();

4.2 使用fillArc()方法

fillArc()方法是arc()方法的填充版本,它不需要指定边框颜色。

4.3 使用strokeArc()方法

strokeArc()方法是arc()方法的边框版本,它不需要指定填充颜色。

5. 实例代码

以下是一个综合使用矩形和圆形的示例:

 <!DOCTYPE html> <html> <head>     <title>Canvas矩形和圆形示例</title> </head> <body>     <canvas id="myCanvas" width="200" height="200" style="border:1px solid #000000;"></canvas>     <script>         var canvas = document.getElementById('myCanvas');         var ctx = canvas.getContext('2d');         ctx.fillStyle = "#FF0000";         ctx.fillRect(20, 20, 150, 100); // 绘制填充矩形         ctx.strokeStyle = "#0000FF";         ctx.strokeRect(20, 20, 150, 100); // 绘制边框矩形         ctx.beginPath();         ctx.arc(100, 100, 40, 0, Math.PI * 2, false); // 绘制一个完整的圆         ctx.fillStyle = "#00FF00";         ctx.fill();     </script> </body> </html>

6. 归纳

本文介绍了如何在HTML5 Canvas中绘制矩形和圆形,通过使用fillRect()strokeRect()arc()fillArc()strokeArc()方法,我们可以创建丰富的图形效果,希望这篇教程能帮助你更好地理解和应用Canvas API。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!