Skip to content
Youths Forum Youths Forum Youths Forum

Tech Blogs & Programming Tutorials

Youths Forum Youths Forum Youths Forum

Tech Blogs & Programming Tutorials

  • Blog
  • News
  • Programming
    • PHP
    • JavaScript
    • JQuery
    • CSS
    • HTML
    • API
  • Stock Market Live
  • Janma Kundali
  • Gadgets
    • Phones
    • Android Phones

Categories

  • Artificial Intelligence (1)
  • Automobiles (12)
    • Cars (7)
  • Blog (106)
    • Poems (2)
    • Space (2)
  • Command (2)
  • Education (2)
  • Entertainment (4)
  • Gadgets (9)
    • Phones (8)
      • Android Phones (4)
  • HTML Templates (11)
  • IT Training Institutes (1)
  • Lifestyle (4)
  • News (396)
  • Others (23)
  • Programming (296)
    • API (16)
    • CSS (83)
    • Database (4)
    • Hosting (1)
    • HTML (37)
    • JavaScript (117)
      • JQuery (27)
      • ReactJS (7)
    • PHP (116)
  • Python (3)
  • recipes (1)
  • SEE Result (1)
  • Server (3)
  • Blog
  • News
  • Programming
    • PHP
    • JavaScript
    • JQuery
    • CSS
    • HTML
    • API
  • Stock Market Live
  • Janma Kundali
  • Gadgets
    • Phones
    • Android Phones
Close

Search

Others

Rainfall effect using Canvas

By Admin
March 17, 2021 1 Min Read
0

The HTML <canvas> element is used to draw graphics, on the fly, via JavaScript. The <canvas> element is only a container for graphics. We must use JavaScript to actually draw the graphics. Canvas has several methods for drawing paths, boxes, circles, text, and adding images.

In this tutorial, we are using canvas to create rainfall effect in a webpage.

Full Source Code :

<style>
  body{
    margin:0;
    background: #000;
  }
  canvas {
    background:url('https://i.ytimg.com/vi/Mha-HWAxYyM/maxresdefault.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;  
    width:100%;
    height:100vh;
  }
</style>

<canvas id='canvas' width='1280' height='720'></canvas>


<script type="text/javascript">
  var canvas = document.getElementById('canvas');
  var ctx = canvas.getContext('2d');


  var stgw = 1280;
  var stgh = 720;

  var count = 100;
  var lcount = 5;

  var layer = [];
  var layery = [];

  ctx.fillStyle = "rgba(255,255,255,0.5)";
  for (var l=0;l<lcount;l++) {
    ctx.clearRect(0,0,stgw,stgh);
    for (var i=0;i<count*(lcount-l)/1.5;i++) {
      var myx = Math.floor(Math.random()*stgw);
      var myy = Math.floor(Math.random()*stgh);
      var myh = l*6+8;
      var myw = myh/10;
      ctx.beginPath();
      ctx.moveTo(myx,myy);
      ctx.lineTo(myx+myw,myy+myh);
      ctx.arc(myx, myy+myh, myw, 0, 1 * Math.PI);
      ctx.lineTo(myx-myw,myy+myh);
      ctx.closePath();
      ctx.fill();
    }
    layer[l] = new Image();
    layer[l].src = canvas.toDataURL("image/png");
    layery[l] = 0;
  }

  function animate() {
    ctx.clearRect(0,0,stgw,stgh);

    for (var l=0;l<lcount;l++) {
      layery[l] += (l+1.5)*5;
      if (layery[l]>stgh) {

        layery[l] =layery[l]-stgh;
      }
      ctx.drawImage(layer[l],0,layery[l]);
      ctx.drawImage(layer[l],0,layery[l]-stgh);
    }
    window.requestAnimationFrame(animate);
  }
  animate();
</script>
</body></html>

Follow this video for complete guidance :

Tags:

canvas
Author

Admin

Follow Me
Other Articles
Previous

Facebook Style Login Page Design using HTML and CSS

Next

Using Authentication Header with file_get_contents in PHP

No Comment! Be the first one.

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Balen Shah UN Speech 2026: Full Text & Audio UN General Assembly
  • inDrive Provides Safe Driving Training and Certificates to 1,500+ Driver Partners in Nepal
  • NEPSE’s Data Center Faces Technical Issue: Today’s Share Trading Suspended
  • KIST Teaching Hospital Ranks First in Public Health Office’s Evaluation
  • Sipradi’s Official Service Center Shree Jalpadevi Autoworks Now Offers Service Until 9 PM | Tata Commercial Vehicle

Tags

adsense ai animation animation using HTML and CSS API blog calculator chatgpt clock Cryptocurrency CSS css animation custom file manager Cyber Security design Email Facebook featured filemanager free template google htaccess HTML image Instagram interview javascript JQuery NADA AutoShow NADA Auto Show 2024 password PHP Progressive Web App QR random react reactjs Rotate seo travel Twitter vpn youthforum youthsforum youtube

About Us

At Youths Forum, we are passionate about sharing knowledge that empowers students, educators, professionals, and technology enthusiasts.

Our Mission

Our mission is simple: to make technology and education accessible, understandable, and beneficial for everyone. We strive to create content that helps our readers learn new skills and stay updated with industry developments.

RSS RSS

  • Balen Shah UN Speech 2026: Full Text & Audio UN General Assembly Admin
  • inDrive Provides Safe Driving Training and Certificates to 1,500+ Driver Partners in Nepal Admin
  • NEPSE’s Data Center Faces Technical Issue: Today’s Share Trading Suspended Admin

Quick Links

  • Stock Market Live
  • Parliament Election 2082
Copyright 2026 — Youths Forum. All rights reserved. Blogsy WordPress Theme