数码资讯
使用HTML5画布绘制时钟代码实例共享
本文主要介绍使用HTML5的时钟代码的例子,分享相关信息,有需要的朋友可以参考下。 HTML5是强大到足以实现很多功能,以及绘制时钟是一个小工具。图片指针与CTX的DrawImage实施。至于兼容性问题,网上有很多的解决方案。这东西是用来玩的,不是为了应用,学习canvas API。 先给你看看效果
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
本文主要介绍使用HTML5的时钟代码的例子,分享相关信息,有需要的朋友可以参考下。
HTML5是强大到足以实现很多功能,以及绘制时钟是一个小工具。图片指针与CTX的DrawImage实施。至于兼容性问题,网上有很多的解决方案。这东西是用来玩的,不是为了应用,学习canvas API。
先给你看看效果
实现代码
复制代码代码如下所示:
< / / { CDATA {!
时间=新日期();
var H = time.gethours();
var m = time.getminutes();
var = time.getseconds();
星期日,星期一,星期二,星期三,星期四,星期五,星期六};
H = H >(H)* + parseInt(M / H):* + parseInt(M / / /顺时针);初始位置
/ / =====================================
var x = y = =,桑乐, / / X Y;原变量的第二点
函数绘图()
{
var c = document.getelementbyid(myCanvas);
VaR CTX = c.getcontext(D);
ctx.clearrect(,,c.width,c.height);
+
/背景
ctx.fillstyle =# eee'changes的设置 / /制作
ctx.globalalpha =。;
(ctx.fillrect,c.width,c.height,画); / /一个新设置的矩形
填充源。
Ctx.beginPath();
Ctx.arc(X,Y,,真的);
Ctx.fill();
Ctx.closePath();
VaR GRD = ctx.createlineargradient(x,y);
Grd.addColorStop(,# FF );
Grd.addColorStop(,# FF );
Grd.addColorStop(,# FF );
CTX。fillStyle=GRD;
ctx.font =PT宋体;
Ctx.fillText(HTML
Ctx.save();
时间刻度
对于(var i;i;<;+ +)
{
var(=);
Ctx.beginPath();
var b =我= = | |我= = | |我= = | |我= =
如果(i = =){
如果(b){
CTX。fillStyle =红色;
半径=;
}
别的{
CTX。fillStyle =蓝色;
半径=。;
}
CTX。字体=PX宋体;
Ctx.fillText(我/ = =:我/,x,y); / / *大右小左Y尺寸数字表
}
其他的
{
CTX。fillStyle =# ;
半径=;
}
如果(s = i)半径=半径+;
Ctx.arc(X,Y,半径,真的);
Ctx.fill();
转换(CTX,x,y,角,true);
}
Ctx.restore();
/ / ==========================
桑乐=(数学。PI * / *); / /二度
(CTX,保存);
CTX。fillStyle =红色;
红 / /环磷酰胺。strokeStyle =;
线宽=;
转换(CTX,X,Y,(数学;
Sj(CTX,x,y,x,y,x,y,y);
Ctx.restore();
(CTX,保存);
CTX。fillStyle =蓝色;
线宽=;
转换(CTX,X,Y,(数学;
Sj(CTX,x,y,x,y,x,y,y);
Ctx.restore();
第二手/旋转
Ctx.save();
CTX。fillStyle =# ;
变换(CTX,X,Y,桑乐,真的);
Sj(CTX,x,y,x,y,x,y,y);
Ctx.restore();
数据
如果(%s =){
桑乐=,=,M + +;
如果(m =){每十二分钟和顺时针旋转
如果(m)!=)h + +;
如果(m = =)m =;
}
如果(h = =)h =;
};
注意:如果它是外部的/分钟或顺时针的,则判断条件是满足的,只有在执行时间变化时,重复运行每秒钟。
Var(DateString =时间。返回完整年份)+年(时间,获得当前的月份)(+)+ time.getdate(+)月天(+平日{时间。getday)} +H(+时间,获得当前的小时)+男:+ M +:+ S;
document.getelementbyid(D).innerHTML = DateString;
}
指针/三角形!
函数Sj(CTX,x,y,x,y,x,y){
例
( / /环磷酰胺。调用);
/ / ctx.moveto(x,y);
/ / ctx.lineto(x,y);
(中风);
( / /环磷酰胺。调用);
/ / ctx.moveto(x,y);
/ / ctx.lineto(x,y);
/ / ctx.lineto(x,y,);
(填充);
Ctx.beginPath();
Ctx.moveTo(x,y);
Ctx.lineTo(x,y);
Ctx.stroke();
Ctx.beginPath();
Ctx.moveTo(x,y);
Ctx.lineTo(x,y);
Ctx.lineTo(x,y);
Ctx.fill();
}
根据/坐标旋转
函数变换(CTX,x,y,角,b){
如果(b){顺时针方向
Ctx.transform(Math.cos(角)、Math.sin(角),
-math.sin(角)、Math.cos(角),
××(-math.cos(角))+××Math.sin(角),
Y *(-math.cos(角))- Y * Math.sin(角))
}
}
/ / =====每秒============(可选执行事件)
Window.setInterval(function(){画()},);
(){ / /窗口。指针功能 / /效果。
/ / setInterval(画());
};
>
HTML5是强大到足以实现很多功能,以及绘制时钟是一个小工具。图片指针与CTX的DrawImage实施。至于兼容性问题,网上有很多的解决方案。这东西是用来玩的,不是为了应用,学习canvas API。
先给你看看效果
实现代码
复制代码代码如下所示:
< / / { CDATA {!
时间=新日期();
var H = time.gethours();
var m = time.getminutes();
var = time.getseconds();
星期日,星期一,星期二,星期三,星期四,星期五,星期六};
H = H >(H)* + parseInt(M / H):* + parseInt(M / / /顺时针);初始位置
/ / =====================================
var x = y = =,桑乐, / / X Y;原变量的第二点
函数绘图()
{
var c = document.getelementbyid(myCanvas);
VaR CTX = c.getcontext(D);
ctx.clearrect(,,c.width,c.height);
+
/背景
ctx.fillstyle =# eee'changes的设置 / /制作
ctx.globalalpha =。;
(ctx.fillrect,c.width,c.height,画); / /一个新设置的矩形
填充源。
Ctx.beginPath();
Ctx.arc(X,Y,,真的);
Ctx.fill();
Ctx.closePath();
VaR GRD = ctx.createlineargradient(x,y);
Grd.addColorStop(,# FF );
Grd.addColorStop(,# FF );
Grd.addColorStop(,# FF );
CTX。fillStyle=GRD;
ctx.font =PT宋体;
Ctx.fillText(HTML
Ctx.save();
时间刻度
对于(var i;i;<;+ +)
{
var(=);
Ctx.beginPath();
var b =我= = | |我= = | |我= = | |我= =
如果(i = =){
如果(b){
CTX。fillStyle =红色;
半径=;
}
别的{
CTX。fillStyle =蓝色;
半径=。;
}
CTX。字体=PX宋体;
Ctx.fillText(我/ = =:我/,x,y); / / *大右小左Y尺寸数字表
}
其他的
{
CTX。fillStyle =# ;
半径=;
}
如果(s = i)半径=半径+;
Ctx.arc(X,Y,半径,真的);
Ctx.fill();
转换(CTX,x,y,角,true);
}
Ctx.restore();
/ / ==========================
桑乐=(数学。PI * / *); / /二度
(CTX,保存);
CTX。fillStyle =红色;
红 / /环磷酰胺。strokeStyle =;
线宽=;
转换(CTX,X,Y,(数学;
Sj(CTX,x,y,x,y,x,y,y);
Ctx.restore();
(CTX,保存);
CTX。fillStyle =蓝色;
线宽=;
转换(CTX,X,Y,(数学;
Sj(CTX,x,y,x,y,x,y,y);
Ctx.restore();
第二手/旋转
Ctx.save();
CTX。fillStyle =# ;
变换(CTX,X,Y,桑乐,真的);
Sj(CTX,x,y,x,y,x,y,y);
Ctx.restore();
数据
如果(%s =){
桑乐=,=,M + +;
如果(m =){每十二分钟和顺时针旋转
如果(m)!=)h + +;
如果(m = =)m =;
}
如果(h = =)h =;
};
注意:如果它是外部的/分钟或顺时针的,则判断条件是满足的,只有在执行时间变化时,重复运行每秒钟。
Var(DateString =时间。返回完整年份)+年(时间,获得当前的月份)(+)+ time.getdate(+)月天(+平日{时间。getday)} +H(+时间,获得当前的小时)+男:+ M +:+ S;
document.getelementbyid(D).innerHTML = DateString;
}
指针/三角形!
函数Sj(CTX,x,y,x,y,x,y){
例
( / /环磷酰胺。调用);
/ / ctx.moveto(x,y);
/ / ctx.lineto(x,y);
(中风);
( / /环磷酰胺。调用);
/ / ctx.moveto(x,y);
/ / ctx.lineto(x,y);
/ / ctx.lineto(x,y,);
(填充);
Ctx.beginPath();
Ctx.moveTo(x,y);
Ctx.lineTo(x,y);
Ctx.stroke();
Ctx.beginPath();
Ctx.moveTo(x,y);
Ctx.lineTo(x,y);
Ctx.lineTo(x,y);
Ctx.fill();
}
根据/坐标旋转
函数变换(CTX,x,y,角,b){
如果(b){顺时针方向
Ctx.transform(Math.cos(角)、Math.sin(角),
-math.sin(角)、Math.cos(角),
××(-math.cos(角))+××Math.sin(角),
Y *(-math.cos(角))- Y * Math.sin(角))
}
}
/ / =====每秒============(可选执行事件)
Window.setInterval(function(){画()},);
(){ / /窗口。指针功能 / /效果。
/ / setInterval(画());
};
>
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。