canvas线性动画效果

Posted web前端网页设计

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了canvas线性动画效果相关的知识,希望对你有一定的参考价值。


canvas线性动画效果

使用H5canvas开发一个线性渐变效果,炫酷!

话不多说,放代码!


  1. <!doctype html>

  2. <html>

  3. <head>

  4. <meta charset="utf-8">

  5. <title>Canvas绘制线性动画</title>

  6. <style>

  7. body{

  8. width: 100%;

  9. overflow: hidden;

  10. margin: 0;

  11. background: hsla(0,0%,0%,1);

  12. }

  13. </style>

  14. </head>


  15. <body>

  16. <canvas id="canvas"></canvas>

  17. <script>

  18. var c=document.getElementById('canvas'),

  19. $=c.getContext('2d'),

  20. w=c.width=window.innerWidth,

  21. h=c.height=window.innerHeight,

  22. t=0,num=450,

  23. u=0,_u,

  24. s,a,b,x,y,_x,_y,

  25. _t=1/100;

  26. var anim=function(){

  27. $.globalCompositeOperation='source-over';

  28. $.fillStyle='hsla(0,0%,0%,.75)';

  29. $.fillRect(0,0,w,h);

  30. $.globalCompositeOperation='lighter';

  31. for(var i=0;i<2;i++){

  32. x=0;_u=(u/4)+i;

  33. $.beginPath();

  34. for(var j=0;j<num;j++){

  35. x-=.72*Math.sin(4);

  36. y=x*Math.sin(i+3.0*t+x/20)/2;

  37. _x=x*Math.cos(b)-y*Math.sin(b);

  38. _y=x*Math.sin(b)+y*Math.cos(b);

  39. b=(j*3)*Math.PI/6.8;

  40. $.lineWidth=.18;

  41. $.arc(w/2-_x,h/2-_y,.5,0,2*Math.PI);

  42. }

  43. //设置线性渐变

  44.  var g = $.createLinearGradient(w / 2 + _x, h / 2 + _y,  0, w / 2 + _x, h / 2 + _y);

  45. g.addColorStop(0.0,'hsla('+u+',85%,50%,1)');

  46. g.addColorStop(0.5,'hsla('+_u+',85%,40%,1)');

  47. g.addColorStop(1,'hsla(0,0%,5%,1)');

  48. $.strokeStyle=g;

  49. $.stroke();

  50. }

  51. t+=_t;

  52. u-=.2;

  53. window.requestAnimationFrame(anim);

  54. };

  55. anim();

  56. </script>

  57. </body>

  58. </html>




回复你感兴趣的关键词

立刻知道关于TA的更多

软件教程就业安装学员故事

「让学习,方便 快捷 好玩」

订阅ID:xs-web

咨询QQ:1853802745

学习是一种信仰

国内最具影响力在线教育学院

点击“阅读全文”了解更多专业课程



以上是关于canvas线性动画效果的主要内容,如果未能解决你的问题,请参考以下文章

Canvas动画

HTML5 Canvas动画效果实现原理

canvas动画:气泡上升效果

如何用HTML5 的Canvas制作3D动画效果

如何用HTML5的Canvas制作3D动画效果

HTML5用canvas怎么实现动画效果