>웹 프론트엔드 >H5 튜토리얼 >캔버스를 사용하여 멋진 clock_html5 튜토리얼 기술을 그려보세요

캔버스를 사용하여 멋진 clock_html5 튜토리얼 기술을 그려보세요

WBOY
WBOY원래의
2016-05-16 15:47:051501검색

먼저 렌더링:


코드 복사
코드는 다음과 같습니다.





캔버스 시계





이 텍스트가 보이면 브라우저가 약한 것입니다!
<script><br>window.onload=draw;<br>function draw() {<br>var canvas=document.getElementById('canvas');<br>var context= canvas.getContext('2d');<br>context.save() ///////////////////////////// // ///저장<br>context.translate(200,200);<br>var deg=2*Math.PI/12 <br>//////////////// //////////////////////////////다이얼<br>context.save() <br>context. startPath(); <br>for(var i=0;i<13;i ){<br />var x=Math.sin(i*deg);<br />var y=-Math.cos(i*deg );<br />context.lineTo(x*150,y*150); <br />}<br />var c=context.createRadialGradient(0,0,0,0,0,130);<br />c.addColorStop( 0,"# 22f");<br />c.addColorStop(1,"#0ef")<br />context.fillStyle=c;<br />context.fill();<br />context.closePath() <br />context.restore() <br />///////////////////////////////// /////////////번호<br />context.save();<br />context.beginPath();<br />for(var i=1;i<13;i ){ <br />var x1=Math .sin(i*deg);<br />var y1=-Math.cos(i*deg);<br />context.fillStyle="#fff";<br />context.font= "bold 20px Calibri";<br />context.textAlign='center';<br />context.textBaseline='middle';<br />context.fillText(i,x1*120,y1*120) <br />} <br />context.closePath( ); <br />context.restore() <br />//////////////////////// //////// //////////////대규모<br />context.save();<br />context.beginPath() <br />for(var i=0;i<12;i ) {<br />var x2=Math.sin(i*deg);<br />var y2=-Math.cos(i*deg);<br />context.moveTo(x2 *148,y2*148);<br />context.lineTo(x2*135,y2*135); <br />} <br />context.StrokeStyle='#fff';<br />context.lineWidth=4;<br />context.Stroke();<br />context.closePath();<br />context.restore() <br />/////////////////// /////////// ///////////////////소형<br />context.save();<br />var deg1=2* Math.PI/60;<br />context.beginPath () <br />for(var i=0;i<60;i ){<br />var x2=Math.sin(i*deg1);<br /> var y2=-Math.cos(i*deg1) ;<br />context.moveTo(x2*146,y2*146);<br />context.lineTo(x2*140,y2*140) <br />} <br />context.StrokeStyle='#fff';<br />context.lineWidth=2;<br />context.Stroke();<br />context.closePath() <br />context.restore(); //////////// ///////////////////////////////////// ///텍스트<br />context.save();<br />context.StrokeStyle="#fff";<br />context.font=' 34px sans-serif';<br />context.textAlign='center'; <br />context.textBaseline='middle';<br /> context.StrokeText('canvas',0,65) <br />context.restore() <br />////////// /////////////// ////////////////////////새 날짜<br />var time=새 날짜 ();<br />var h=(time.getHours() )*2*Math.PI/12;<br />var m=time.getMinutes()*2*Math.PI/60;<br />var s =time.getSeconds()*2*Math.PI/60 </p> <p>///////////////////////////////////////////// /// //시침<br>context.save();<br>context.rotate( h m/12 s/720) ;<br>context.beginPath();<br>context.moveTo(0,6 );<br>context.lineTo(0,-85);<br>context.StrokeStyle="#fff";<br>context.lineWidth=6;<br>context.Stroke();<br>컨텍스트. closePath(); <br>context.restore();<br>////////////////////////////// ///// ////////분침<br>context.save();<br>context.rotate( ms/60 ) ;<br>context.beginPath();<br>context. moveTo(0,8) ;<br>context.lineTo(0,-105);<br>context.StrokeStyle="#fff";<br>context.lineWidth=4;<br>context.Stroke(); <br>context.closePath();<br>context.restore();<br>///////////////////////////// /////// //////////초침<br>context.save();<br>context.rotate( s ) ;<br>context.beginPath();<br>context.moveTo(0,10) ;<br>context.lineTo(0,-120);<br>context.StrokeStyle="#fff";<br>context.lineWidth=2;<br>context.Stroke ();<br>context.closePath ();<br>context.restore() <br>context.restore();/////////////////// ////////// 스택아웃<br>setTimeout(draw, 1000);///////////////////////////// //타이머 <p>}</p> <p></script>



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.