用canvas画出圆形三角形和菱形完整代码
时间: 2024-09-30 15:13:52 浏览: 32
html5 canvas画布绘制圆形时钟代码
5星 · 资源好评率100%
在HTML5的`<canvas>`标签中,我们可以使用JavaScript的`Canvas API`来绘制形状,包括圆形、三角形和菱形。以下是完整的代码示例:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<style>
#myCanvas {
border: 1px solid black;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="500" height="500"></canvas>
<script>
// 获取canvas元素
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
function drawShape(type) {
ctx.beginPath();
switch (type) {
case 'circle':
ctx.arc(150, 150, 75, 0, Math.PI * 2); // 圆形
break;
case 'triangle':
ctx.moveTo(150, 50);
ctx.lineTo(250, 250);
ctx.lineTo(50, 250);
ctx.closePath(); // 三角形
break;
case 'diamond':
ctx.save(); // 保存当前状态
ctx.translate(250, 250); // 移动到菱形中心
ctx.rotate(Math.PI / 4); // 旋转45度
ctx.beginPath();
ctx.moveTo(-50, -50);
ctx.lineTo(0, 50);
ctx.lineTo(50, -50);
ctx.closePath();
ctx.fill(); // 绘制菱形
ctx.restore(); // 恢复原始状态
break;
}
ctx.fillStyle = '#FF0000'; // 设置颜色
ctx.fill(); // 填充形状
}
// 开始绘制
drawShape('circle');
drawShape('triangle');
drawShape('diamond');
</script>
</body>
</html>
```
这个例子中,我们首先获取了canvas元素和它的2D渲染上下文,然后定义了一个函数`drawShape`用于根据不同类型('circle', 'triangle', 'diamond')绘制相应的形状。每个形状都有自己的路径操作,并通过`fill()`方法填充颜色。
阅读全文