基于html5绘制圆形多角图案
2021-05-08 21:11:56 先看看最简单的效果图:
代码如下:
JavaScript Code复制内容到剪贴板
varcanvas=document.getElementById('my'),ctx=canvas.getContext('2d'); setInterval(function(){ ctx.clearRect(0,0,400,400); ctx.save(); ctx.translate(200,200); varci=90,pi=Math.PI/ci,x1=100,y1=0,x2=0,y2=0,x3=0,y3=0; ctx.beginPath(); for(vari=ci*2;i>0;i--){ ctx.rotate(pi); ctx.moveTo(x1,y1); y2=x1*Math.sin(pi); x2=x1*Math.cos(pi); x3=(x1-x2)/2+x2+10+Math.random()*20; y3=y2/2; ctx.lineTo(x3,y3); ctx.lineTo(x2,y2); } ctx.stroke(); ctx.restore(); },100);
在上面多角形的基础上进一步之后为:
代码如下:
JavaScript Code复制内容到剪贴板
varcanvas=document.getElementById('my'),ctx=canvas.getContext('2d'),r=10; setInterval(function(){ ctx.clearRect(0,0,400,400); ctx.save(); ctx.translate(200,200); vargrad=ctx.createRadialGradient(0,0,0,0,0,r+20); grad.addColorStop(0.2,'white'); grad.addColorStop(0.7,'yellow'); grad.addColorStop(0.8,'orange'); ctx.beginPath(); ctx.fillStyle=grad; ctx.arc(0,0,r,0,Math.PI*2,true); ctx.fill(); varci=90,pi=Math.PI/ci,x2=0,y2=0,x3=0,y3=0; x1=100; y1=0; ctx.beginPath(); for(vari=ci*2;i>0;i--){ ctx.rotate(pi); ctx.moveTo(r,0); y2=r*Math.sin(pi); x2=r*Math.cos(pi); x3=(r-x2)/2+x2+10+Math.random()*20; y3=y2/2; ctx.lineTo(x3,y3); ctx.lineTo(x2,y2); } ctx.fill(); ctx.restore(); r<=100&&(r+=2); },100);以上就是本文的全部内容,希望对大家的学习有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。 如涉及版权问题,请提交至online#300.cn邮箱联系删除。