fillRect()
方法绘制矩形,使用arc()
和fill()
方法绘制圆形。HTML5 Canvas 画图教程(9)—在 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、绘制矩形
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()
方法
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。