绘制如下图所示的四色圆,要求从x轴正向开始逆时针绘制扇形,即绿-红-蓝-黄(可以考虑其他颜色及更小的扇形) 提示: 1、每次绘制不同颜色的扇形,重新开启路径 2、上一次绘制的弧线(四分之一圆)的结束弧度,是下一次绘制弧线的开始弧度
时间: 2024-05-16 22:16:06 浏览: 52
以下是绘制四色圆的代码示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>绘制四色圆</title>
<meta charset="utf-8">
<style type="text/css">
canvas {
border: 1px solid #ccc;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="500" height="500"></canvas>
<script type="text/javascript">
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var centerX = canvas.width/2;
var centerY = canvas.height/2;
var radius = 200;
// 绘制绿色扇形
ctx.beginPath();
ctx.moveTo(centerX, centerY);
ctx.arc(centerX, centerY, radius, 0, Math.PI/2, false);
ctx.closePath();
ctx.fillStyle = "green";
ctx.fill();
// 绘制红色扇形
ctx.beginPath();
ctx.moveTo(centerX, centerY);
ctx.arc(centerX, centerY, radius, Math.PI/2, Math.PI, false);
ctx.closePath();
ctx.fillStyle = "red";
ctx.fill();
// 绘制蓝色扇形
ctx.beginPath();
ctx.moveTo(centerX, centerY);
ctx.arc(centerX, centerY, radius, Math.PI, Math.PI*3/2, false);
ctx.closePath();
ctx.fillStyle = "blue";
ctx.fill();
// 绘制黄色扇形
ctx.beginPath();
ctx.moveTo(centerX, centerY);
ctx.arc(centerX, centerY, radius, Math.PI*3/2, Math.PI*2, false);
ctx.closePath();
ctx.fillStyle = "yellow";
ctx.fill();
</script>
</body>
</html>
```
代码解释:
1. 首先获取 canvas 元素和 2D 绘图上下文对象 ctx。
2. 定义圆心坐标和半径。
3. 绘制绿色扇形:首先调用 beginPath() 方法开启一条新路径,然后使用 moveTo() 方法将路径移动到圆心,接着使用 arc() 方法绘制一个四分之一圆弧,最后使用 closePath() 方法封闭路径。然后设置填充颜色为绿色,调用 fill() 方法填充路径。
4. 绘制红色扇形:与绘制绿色扇形类似,只需将起始弧度改为 Math.PI/2,终止弧度改为 Math.PI,填充颜色改为红色即可。
5. 绘制蓝色扇形:同理,将起始弧度改为 Math.PI,终止弧度改为 Math.PI*3/2,填充颜色改为蓝色即可。
6. 绘制黄色扇形:同理,将起始弧度改为 Math.PI*3/2,终止弧度改为 Math.PI*2,填充颜色改为黄色即可。
运行代码后,将会在 canvas 中绘制出四个不同颜色的扇形,顺序为绿色-红色-蓝色-黄色,与要求相符。
阅读全文