javascript与画布结合实现简单的时钟

javascript与画布结合实现简单的时钟
在学习了HTML5 Canvas元素,以一个简单的时钟的实现实践。时钟本身并不复杂,没有图片加以美化,但麻雀,虽然小,会与你分享以下:

Demo effect:
HTML代码:

复制代码代码如下所示:

时钟
* {

保证金:0;

填充:0;

}

帆布{。

左:20px保证金;

边距:20px;

border: solid 1px;

}

JS代码:

复制代码代码如下所示:

var画布{ };

canvas.cxt = document.getelementbyid('canvasid)。GetContext(二维的);

画布=点函数(x,y){

这个;

这个,y = y;

};

画布上的所有图形擦除

canvas.clearcxt =函数(){

我=这个;

VaR的画布me.cxt.canvas;

me.cxt.clearrect(0,0,canvas.offsetwidth,帆布。offsetheight);

};

时钟 / * * /

画布=时钟=函数(){

var =画布,

C = me.cxt,

半径= 150, /半径

缩放比例= 20。

minangle =×Math.PI(1 / 30),一弧分* / / *

hourangle =×Math.PI(1 / 6),一个小时的弧度 / * * /

hourhandlength =半径 / 2 / * * /小时

minhandlength =半径 / 3 * 2 / * * /分钟的长度

sechandlength =半径 / 10 * 9 / * * /二手长

中心新=我。点(c.canvas。宽度 / 2,c.canvas。身高 / 2); / * * /。

画出中心(表盘的中心)

功能drawcenter(){

C.save();

c.translate(中心。X、Y中心。);

c.fillstyle =;

C.beginPath();

C.arc(0, 0,半径 / 20, 0, 2 *数学。PI);

C.closePath();

C.fill();

C.stroke();

C.restore();

};

通过坐标转换,绘制刻度盘

功能drawbackground(){

C.save();

c.translate(中心。X中心。Y); / * * /翻译

绘制比例尺

功能drawscale(){

C.moveTo(半径范围,0);

C.lineTo(半径0);

};

C.beginPath();

C.arc(0, 0,半径,0, 2 * Math.PI,真的);

C.closePath();

对于(var i = 1;i < 12;i + +){

DrawScale();

c.rotate(hourangle); / * * /旋转

};

渲染时间(3、6、9、12)* / / *

c.font =大胆30px冲击

C.fillText(3

C.fillText(6

C.fillText(9

C.fillText(12

C.stroke();

C.restore();

};

顺时针方向移动(当前电流(24小时))。

This.drawHourHand = function (H) {

h=0=24:h;

C.save();

c.translate(中心。X、Y中心。);

c.rotate(3 / 2 *数学。PI);

c.rotate(H * hourangle);

C.beginPath();

C.moveTo(0, 0);

C.lineTo(hourhandlength,0);

C.stroke();

C.restore();

};

绘制(m:当前)*分钟

this.drawminhand =功能(M){

m=0=60:m;

C.save();

c.translate(中心。X、Y中心。);

c.rotate(3 / 2 *数学。PI);

c.rotate(m×minangle);

C.beginPath();

C.moveTo(0, 0);

C.lineTo(minhandlength,0);

C.stroke();

C.restore();

};

第二手绘图(第二部分)。

this.drawsechand =函数(){

s=0=60:s;

C.save();

c.translate(中心。X、Y中心。);

c.rotate(3 / 2 *数学。PI);

c.rotate(* minangle);

C.beginPath();

C.moveTo(0, 0);

C.lineTo(sechandlength,0);

C.stroke();

C.restore();

};

根据时钟绘图机的要求

this.drawclock =函数(){

我=这个;

函数绘图(){

日期=新日期();

Canvas.clearCxt();

drawbackground();

DrawCenter();

me.drawhourhand(date.gethours()+()date.getminutes / 60);

me.drawminhand(date.getminutes()+()date.getseconds / 60);

me.drawsechand(date.getseconds());

}

拉();

setInterval(画,1000);

};

};

var =函数(){()

新时钟();

Clock.drawClock();

};
代码涉及几个简单的画布元素API。

以上是本文的全部内容,希望能帮您学习油画。

tag:时钟简单电脑软件Javascript

相关内容