使用canvas制作几座相连的山峰
要使用HTML5的<canvas>
元素来制作几座相连的山峰,你可以按照以下步骤进行:
- 设置HTML结构:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Canvas Mountains</title>
<style>
canvas {
border: 1px solid black;
}
</style>
</head>
<body>
<canvas id="mountainCanvas" width="800" height="400"></canvas>
<script src="script.js"></script>
</body>
</html>
- 编写JavaScript代码 (
script.js
文件):
const canvas = document.getElementById('mountainCanvas');
const ctx = canvas.getContext('2d');
const mountainHeight = 200;
const mountainWidth = 400;
const numMountains = 3;
const spacing = 100;
function drawMountain(x, height, width) {
ctx.beginPath();
ctx.moveTo(x, canvas.height);
// 使用二次贝塞尔曲线绘制山峰
const peakX = x + width / 2;
const peakY = canvas.height - height;
ctx.quadraticCurveTo(peakX, peakY, x + width, canvas.height);
ctx.lineWidth = 2;
ctx.strokeStyle = 'black';
ctx.stroke();
}
function draw() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (let i = 0; i < numMountains; i++) {
const x = i * (mountainWidth + spacing);
drawMountain(x, mountainHeight, mountainWidth);
}
}
draw();
这段代码首先设置了canvas的ID,然后获取了该canvas的2D渲染上下文。接着,定义了一些常量,如山峰的高度、宽度、数量以及山峰之间的间距。drawMountain
函数负责绘制单个山峰,而draw
函数则负责绘制所有的山峰。最后,调用draw
函数来渲染山峰。
你可以根据需要调整这些参数,以获得不同的山峰形状、大小和位置。此外,你还可以使用更复杂的路径和曲线来创建更逼真的山峰效果。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!