基于html5绘制圆形多角图案

  发布时间:2016-04-21 09:23:00   作者:佚名   我要评论
这篇文章主要为大家详细介绍了基于html5实现圆形多角图案,由浅入深绘制圆形多角图案,感兴趣的小伙伴们可以参考一下

先看看最简单的效果图:

代码如下:

JavaScript Code复制内容到剪贴板
  1. var canvas = document.getElementById('my'), ctx = canvas.getContext('2d');   
  2.   setInterval(function(){   
  3.     ctx.clearRect(0,0,400,400);   
  4.     ctx.save();   
  5.     ctx.translate(200,200);   
  6.     var ci =90, pi = Math.PI / ci, x1 = 100, y1 =0, x2 =0, y2 =0, x3 =0, y3 =0;   
  7.     ctx.beginPath();   
  8.     for(var i = ci *2; i >0; i--){   
  9.       ctx.rotate(pi);   
  10.       ctx.moveTo(x1,y1);   
  11.       y2 = x1 * Math.sin(pi);   
  12.       x2 = x1 * Math.cos(pi);   
  13.       x3 = (x1 - x2) /2+ x2 +10+ Math.random() *20;   
  14.       y3 = y2 /2;   
  15.       ctx.lineTo(x3,y3);   
  16.       ctx.lineTo(x2,y2);   
  17.     }   
  18.     ctx.stroke();   
  19.     ctx.restore();   
  20.   },100);  


在上面多角形的基础上进一步之后为:

代码如下:

JavaScript Code复制内容到剪贴板
  1. var canvas = document.getElementById('my'), ctx = canvas.getContext('2d'), r =10;   
  2.     setInterval(function(){   
  3.       ctx.clearRect(0,0,400,400);   
  4.       ctx.save();   
  5.       ctx.translate(200,200);   
  6.       var grad = ctx.createRadialGradient(0,0,0,0,0,r+20);   
  7.       grad.addColorStop(0.2,'white');   
  8.       grad.addColorStop(0.7,'yellow');   
  9.       grad.addColorStop(0.8,'orange');   
  10.       ctx.beginPath();   
  11.       ctx.fillStyle = grad;   
  12.       ctx.arc(0,0,r,0,Math.PI*2,true);   
  13.       ctx.fill();   
  14.     var ci =90, pi = Math.PI / ci, x2 =0, y2 =0, x3 =0, y3 =0;   
  15.       x1 =100;   
  16.       y1 =0;   
  17.       ctx.beginPath();   
  18.       for(var i = ci *2; i >0; i--){   
  19.         ctx.rotate(pi);   
  20.         ctx.moveTo(r,0);   
  21.         y2 = r * Math.sin(pi);   
  22.         x2 = r * Math.cos(pi);   
  23.   
  24.         x3 = (r - x2) /2+ x2 +10+ Math.random() *20;   
  25.         y3 = y2 /2;   
  26.   
  27.         ctx.lineTo(x3,y3);   
  28.         ctx.lineTo(x2,y2);   
  29.       }   
  30.       ctx.fill();   
  31.       ctx.restore();   
  32.       r <=100&& (r +=2);   
  33.    },100);   
  34.   

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章

  • html5实现的鼠标悬停显示气泡文字框提示效果源码

    这是一款基于html5实现的鼠标悬停显示气泡文字框提示效果源码。默认显示一张美女图片,当鼠标悬停在图片上之后呈现气泡逐渐显示出一个气泡状的文字提示框效果
    2016-04-27
  • html5需遵循的6个设计原则

    html5设计过程中遵循了一系列原则,才使得html5得以快速推广。本文将介绍html5遵循的6个设计原则,感兴趣的小伙伴们可以参考一下
    2016-04-27
  • HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果

    使用HTML5的canvas画的孙悟空,CSS3画的白云飘飘。本文给大家介绍基于HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果,感兴趣的朋友参考下吧
    2016-04-26
  • HTML5标签嵌套规则详解【必看】

    下面小编就为大家带来一篇HTML5标签嵌套规则详解【必看】。小编觉得挺不错的,现在分享给大家,也给大家做个参考
    2016-04-26
  • HTML 5.1来了 9月份正式发布 更新内容预览

    W3C 组织最新宣布,正在编写 HTML 5.1 的语言标准规范,预计 6 月中旬完成初稿,9 月份正式发布。接下来脚本之家小编给大家介绍HTML 5.1发布时间及更新内容预览,感兴趣的
    2016-04-26
  • HTML5本地数据库基础操作详解

    在本地数据库中我们可以直接利用JavaScript创建数据库,并利用SQL语句执行相关的数据库操作。对于复杂的数据库,HTML5使用本地数据库进行操作,需要的朋友可以参考下
    2016-04-26
  • HTML5移动端手机网站开发流程

    这篇文章主要为大家介绍了HTML5移动端手机网站开发流程,想要进行移动端手机网站开发的朋友可以参考一下
    2016-04-25
  • js+html5制作简易的时钟表效果源码

    这是一款基于js+html5制作简易的时钟表效果源码,可实现模拟当前时间的钟表走动效果,该源码没有引入任何的外部图形元素,钟表走动效果流畅自然
    2016-04-25
  • HTML5+SVG制作电子鼓打击音乐特效源码

    HTML5+SVG制作电子鼓打击音乐特效源码是一款个性的乐器演奏HTML5特效代码。需要的朋友前来下载源码
    2016-04-22
  • HTML5+Canvas实现可视化mp3音乐播放器特效源码

    HTML5+Canvas实现可视化mp3音乐播放器特效源码是一款基于HTML5 Canvas实现的通过AudioContext对获取audio标签播放的音域和音高,调用js绘制相应高度的矩形或线条。需要的朋
    2016-04-21

最新评论