纯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实现Canvas遮罩画树效果

以上便是纯JS实现画树效果的完整示例,希望能为读者提供参考,也欢迎继续支持本站。

作者最新文章