canvas阳光普照动态变换效果
代码语言:html
所属分类:动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!doctype html> <html> <head> <meta charset="utf-8"> <style> html{ background: black;} body { width: 100%; height: 100%; position: absolute; left: 0; top: 0; overflow: hidden; margin: 0; background: black; -webkit-filter: invert(0); filter: invert(0); } #canvas { position: absolute; z-index: -1; -webkit-filter: hue-rotate(100deg) brightness(1); filter: hue-rotate(100deg) brightness(1); mix-blend-mode: difference; } #canv { position: absolute; z-index: -2; mix-blend-mode: lighter; } canvas { position: absolute; top: 50%; left: 50%; z-index: -1; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } </style> </head> <body> <canvas id='canvas'></canvas> <canvas id='canv'></canvas> <script> var c = document.getElementById('canv'), $ = c.getContext('2d'), w = c.width = window.innerWidth, h = c.height = window.innerHeight, t = 0, num = 950, s, a, b, u = 0, x, y, _x, _y, _t = 1 / 16; function random(min, max) { return Math.random() * (max - min) + min; } var anim = function() { $.globalCompositeOperation = 'multiply'; $.fillStyle = 'hsla(258,20%,50%,1)'; $.fillRect(0, 0, w, h); $.globalCompositeOperation = 'lighter'; for (var i = 0; i < .5; i++) { x = 0; _u = (u) + i * 2, col = u + (_u * 8); $.beginPath(); for (var j = 0; j < num; j++) { x -= .312 * Math.sin(15); y = x * Math.sin(i + 3.05 * t + x / 7) / 12; _x = x * M.........完整代码请登录后点击上方下载按钮下载查看
网友评论0