雨が降っているような表現ができるライブラリ「rainyday.js」を使ってみます。
使い方
下記からダウンロードできます。
GitHub – maroslaw/rainyday.js: Simulating raindrops falling on a window
ダウンロード後、rainyday.jsを読み込みます。
<script src="rainyday.js"></script>
HTML
<div id="wrapper"> <img src="" width="960" id="photo"> </div>
JavaScript
var photo = document.getElementById('photo');
// 画像読み込み後の処理
photo.onload = function() {
// rainyday.jsの設定
var engine = new RainyDay({
image: photo // 雨を降らせる画像の指定
});
// 雨粒の設定
engine.rain([
[3, 3, 1] // サイズが3~6の雨粒を1滴追加する
], 100); // 0.1秒ごとに雨粒追加を実行
};
// 画像のsrcを指定
photo.src = 'img.jpg';
オプション・メソッド
How to useに記載されているものからいくつか試してみます。
JavaScript
var photo = document.getElementById('photo');
var wrapper = document.getElementById('wrapper');
photo.onload = function() {
var engine = new RainyDay({
image: photo,
parentElement: wrapper,
blur: 12,
opacity: 0.7
});
// 雨粒の設定
engine.rain([
[1, 2, 8000]
], 500);
engine.rain([
[3, 3, 0.88],
[5, 5, 0.9],
[6, 2, 1]
], 100);
};
photo.src = 'img.jpg';
| image | 雨を降らせる画像の指定。必須。 |
|---|---|
| parentElement | canvasの親要素を指定。デフォルトはbody。 |
| blur | 雨によるぼかしの量を指定。デフォルトは10。 |
| opacity | 雨粒の不透明度の指定。デフォルトは1。 |
| rain([[min, range, count], … ], ms); | 雨粒の指定。 msミリ秒ごとに、min~(min+range)の範囲のサイズで、countの数だけ雨粒が追加される。 |
【参考サイト】
コメントが承認されるまで時間がかかります。