1. 程式人生 > >js+畫布canvas製作時鐘特效

js+畫布canvas製作時鐘特效

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<canvas id="c" width="500" height="500"></canvas>
<script>
//定義一個函式繪製時鐘
function drawClock(){
var context=document.getElementById("c").getContext("2d");
//每次繪製新圖形之前清空當前區域
context.clearRect(0,0,500,500);
var hs = [" I ", "I I", "III", "I V", " V ", "V I", "VII", "VIII", "I X", " X ", "X I", "XII"];
//畫表盤
context.beginPath();
context.arc(250,250,200,0,2*Math.PI);
context.strokeStyle="#A9A9A9";
context.lineWidth=15;
context.stroke();
context.closePath();
//迴圈繪製分鐘刻度
//重新定義畫布的原點
context.translate(250,250);
//繪製分鐘刻度
for (var i=0;i<60;i++) {
//每次旋轉6度
context.rotate(6*Math.PI/180);
context.beginPath();
context.moveTo(0,-185);
context.lineTo(0,-190);
context.lineWidth=4;
context.strokeStyle="lightgreen"
context.stroke();
context.closePath();
}
//繪製小時刻度
for(var i = 0; i < 12; i++) {
//旋轉30度
context.rotate(30 * Math.PI / 180);
context.beginPath();
context.moveTo(0, -180);
context.lineTo(0, -190);
context.strokeStyle = "#008000";
context.stroke();
context.closePath();

context.beginPath();
context.font="12px  微軟雅黑";
//文字輪廓
context.fillStyle = "red";
context.fillText(hs[i], -8, -160);
context.closePath();
}
//獲取現在的系統時間
var date = new Date();
var hour = date.getHours();
var minute = date.getMinutes();
//獲得的小時是一個整數,需要加上分鐘代表的小數
hour = hour + minute / 60;
//如果是下午減去12
hour = hour > 12 ? hour - 12 : hour;
var second = date.getSeconds();
//畫時針
context.rotate(hour * 30 * Math.PI / 180);
context.beginPath();
//設定線段開始點
context.moveTo(0, 20);
//設定線段結束點
context.lineTo(0, -80);
context.lineWidth = 5;
context.strokeStyle = "#008000";
context.stroke();
context.closePath();
//將畫布角度還原到初始狀態
context.rotate(-hour * 30 * Math.PI / 180);


//畫分針
context.rotate(minute * 6 * Math.PI / 180);
context.beginPath();
//設定線段開始點
context.moveTo(0, 20);
//設定線段結束點
context.lineTo(0, -140);
context.lineWidth = 4;
context.strokeStyle = "lightgreen";
context.stroke();
context.closePath();
//將畫布角度還原到初始狀態
context.rotate(-minute * 6 * Math.PI / 180);

//畫秒針
context.rotate(second * 6 * Math.PI / 180);
context.beginPath();
//設定線段開始點
context.moveTo(0, 20);
//設定線段結束點
context.lineTo(0, -175);
context.lineWidth = 3;
context.strokeStyle = "crimson";
context.stroke();
context.closePath();
//在圓形的中心點繪製一個圓形
context.beginPath();
context.arc(0,0,10,0,2*Math.PI);
context.fillStyle="gold";
context.fill();
context.closePath();
//在秒針上端繪製一個圓形
context.beginPath();
context.arc(0,-155,8,0,2*Math.PI);
context.fillStyle="gold";
context.fill();
context.closePath();
//將畫布角度還原到初始狀態
context.rotate(-second * 6 * Math.PI / 180);
//將圓心的位置重置到左上角
context.translate(-250, -250);
}
drawClock();
//每隔一秒鐘重新繪製時鐘
setInterval("drawClock()",1000);
</script>
</body>

</html>


相關推薦

js+畫布canvas製作時鐘特效

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><canvas id

製作時鐘特效

在網頁上顯示當前時間  <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>顯示動態時鐘</title> <script

canvas 製作時鐘

1 <!DOCTYPE html> 2 <html> 3 <head>  4 <meta charset="utf-8"> 5   6 <title>菜鳥教程(runoob.com)<

Canvas製作時鐘

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style> #mycan

Canvas時鐘特效-JS效果

今天上傳一個前一陣子做的Canvas例項,時鐘特效,是根據課程編寫的,主要的是JS和Canvas html程式碼: @charset "utf-8"; body{ background-color: AntiqueWhite; } canvas{ background

js畫布組件(<canvas></canvas>)

尺寸 通過 element 頁面 擁有 asc ext 對象 字符 什麽是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在網頁上繪制圖像。 畫布是一個矩形區域,您可以控制其每一像素。 canvas 擁有多種繪制路徑、矩形、圓形、字符以及添加

原生jscanvas時鐘組件

raw document tel align -a 映射 曲線 its 繪制圖形 canvas一直是前端開發中不可或缺的一種用來繪制圖形的標簽元素,比如壓縮上傳的圖片、比如刮刮卡、比如制作海報、圖表插件等,很多人在面試的過程中也會被問到有沒有接觸過canvas圖形繪制。 定

HTML5-用Canvas製作會走動的時鐘

首先我們要清楚canvas是HTML5中新增的一個元素,專門用來繪製圖形。在頁面放置一個canvas元素,就相當於放置了一個畫布,可以在其中進行圖形的繪製。 為canvas新增簡單的樣式 <style> body{ background: black;

利用H5中canvas畫布繪製一個時鐘(動態)

注意:Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支援 <canvas> 及其屬性和方法。Internet Explorer 8 以及更早的版本不支援 <canvas> 元素 效果圖如下:     實現

canvas製作一個時鐘

我想熟悉一下canvas的使用,參考一個例子做了一個能動態展示當前時刻的canvas時鐘。 先看效果: 實現思路: 使用canvas繪圖第一步肯定是先獲取canvas元素物件,並定義上下文。 var clock = document.getElementById(

js使用canvas畫布畫太極圖案

程式碼如下: <body> <canvas id="mycanvas"></canvas> <script type="text/javascript"> v

JS用定時器製作時鐘

製作思路 1.首先需要時鐘的背景圖片,時針圖片,分針圖片,秒針圖片。鍾背景圖片固定(相對定位),時/分/秒針圖片旋轉(絕對定位); 2.設定定時器; 3.獲取系統時間,時/分/秒/毫秒; 4.秒針圖片每秒旋轉6°,分針每分針旋轉6°,時針每小時旋轉30°。 <!DOCTYPE

js canvas 轉動時鐘例項

原始碼:https://pan.baidu.com/s/1R12MwZYs0OJw3OWKsc8WNw 樣本:http://js.zhuamimi.cn/shizhong/ 我的百度經驗:https://jingyan.baidu.com/article/1974b28935a46bf

【動畫】簡易製作貝塞爾曲線動畫(JS+css3+canvas

一些廢話(直接看程式碼的可跳過) 貝塞爾曲線:什麼是貝塞爾曲線?用過PS的就知道,那破鋼筆工具就是,什麼,沒用過?自行百度用法。 需要的工具 ctrl+c、ctrl+v 直接上程式碼 <!DOCTYPE html>

H5畫布canvas特效(磚塊放射效果)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript" src="../js/jquery-3

利用HTML5的canvas製作萬花筒動畫特效

1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <style> 5 #canvas{ 6

js時鐘特效詳細程式碼分析例項教程

電子時鐘是網上常見的功能,在學習date物件和定時器功能時,來完成一個電子時鐘的製作是不錯的選擇。學習本教程之前,讀者需要具備html和css技能,同時需要有簡單的javascript基礎。 先準備一個html元素,用來放置時鐘。新建一個div元素,它的id命名為clock,如下所示: <div id

分針網——IT教育:用js原生寫黑客帝國特效

想必大家都看過 黑客帝國 系列電影吧!先放一張圖片致敬一下經典。我們就來做一下裏面的背景特效吧:The Matrix

跟KingDZ學HTML5之三 畫布Canvas

can 說明 padding phone 灰色 定義 ring explore 區域 繼續更新我們的教程,哈哈,個人覺得 ,這個HTML5 的官方 LOGO 怎麽看,怎麽像變形金剛。 神馬關系~~~~~~~~~~~ <Canvas> 是HTML5中新出現的一

跟KingDZ學HTML5之七 探究Canvas之各種特效

document doc 特效 方向 旋轉 element 不解釋 str 呵呵 初看到題目大家怎麽個反應啊,哇塞,這麽多啊,可是看完這節課程之後,你會發現這些功能不過如此。 1》移動 translate(x, y) 簡單的說明一下 ,X 左右偏移量 Y 上下偏移