纯JS实现Canvas遮罩画树效果
作者:竹影时间:2026-10-22 07:53:56浏览:192
本文介绍如何使用纯JavaScript结合HTML5 Canvas实现画树效果。核心思路是利用背景图片展示树木,通过Canvas绘制半透明遮罩覆盖画面,并设置定时器每隔10ms从下往上清除1px高度的遮罩区域,从而逐步显露背景中的树木图像。
纯JS实现Canvas遮罩画树效果
本文演示如何使用纯JavaScript绘制一棵树。基本实现思路如下:
首先,将一张树木图片设置为网页背景;
其次,利用HTML5的Canvas元素创建一个遮罩层覆盖在页面上;
最后,通过定时器每隔10毫秒,从下往上逐像素清除1px高度的遮罩区域;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>My JS tree</title>
<style>
body {
width: 1000px;
height: 570px;
background-image: url(image/tree.png);
background-size: 1000px, 570px;
background-repeat: no-repeat;
margin-top: 0px;
margin-bottom: 0px;
}
</style>
</head>
<body>
<canvas id="mycanvas" width="1000px" height="570px"></canvas>
<script>
var c = document.getElementById("mycanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "#ffffff";
ctx.fillRect(0, 0, c.width, c.height);//矩形遮住背景图像
var y = c.height;
window.setInterval(function() {
if (y > 2) {
ctx.clearRect(0, y - 1, c.width, y);
y = y - 1;
} else {
window.clearInterval(this);//清除定时
ctx.clearRect(0, 0, c.width, c.height);
}
}, 10);//每隔10ms清除1px的遮照
</script>
</body>
</html>
具体的绘制与动画过程如下:

以上便是纯JS实现画树效果的完整示例,希望能为读者提供参考,也欢迎继续支持本站。
作者最新文章
网页开发三者分工:HTML结构、CSS样式与JavaScript交互怎么协作
2026-11-05 12:51:22
JS解析URL参数时怎么处理中文乱码和特殊字符
2026-11-05 12:47:23
js-cookie 存储 JSON 对象:自动序列化与反序列化技巧
2026-11-05 12:36:26
marked.js 快速上手:安装与基础 Markdown 转 HTML 示例
2026-11-05 09:32:53
Phaser.js 与 PixiJS、Cocos Creator 的技术选型对比
2026-11-05 08:36:30
