日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第一个Canvas实例-钟表

發布時間:2024/4/11 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第一个Canvas实例-钟表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說到HTML5,我們就要首先知道Canvas標簽,這個標簽定義了一塊畫布,所有圖形的畫面都要在這塊畫布上呈

現出來。其實光有Canvas是做不了任何事的,學過Windows的人都知道,在Windows里面繪圖要先得到一個設

備上下文DC,在Canvas里面繪圖同樣要得到一個渲染上下文,在HTML5中,我們的圖形并不是直接畫到屏幕上

的,而是先畫到一個上下文上,然后再刷新到屏幕上的。在Canvas中,我們通過語句getContext('2d')方

返回一個CanvasRenderingContext2D對象,即渲染上下文對象,然后通過調用它的方法來實現Canvas繪圖。


Canvas實現模擬電子時鐘,代碼如下

?

clock.html

<!doctype html> <html><head></head><body><!-- 定義canvas畫布,包括寬度和高度,還有背景顏色 --><canvas id="clock" width="1350" height="620" style="background:black">你的瀏覽器不支持canvas標!</canvas><!-- 用src引用js源文件 --><script src="clock.js"></script></body> </html>


?

clock.js

//獲取上下文文檔對象 var clock = document.getElementById('clock'); var cxt = clock.getContext('2d');//畫指針 function drawPointer(width, color, value, angle, startx, starty, endx, endy){cxt.save(); //先保存當前畫布cxt.lineWidth = width; //設置畫筆的寬度cxt.strokeStyle = color; //設置畫筆的顏色cxt.translate(550, 310); //重置異次元空間的原點坐標cxt.rotate(value * angle * Math.PI / 180); //設置旋轉的角度,參數是弧度cxt.beginPath();cxt.moveTo(startx, starty);cxt.lineTo(endx, endy);cxt.closePath(); //先閉合路徑,再畫線cxt.stroke(); //開始畫線cxt.restore(); //將旋轉后的線段返回給畫布 }//畫刻度 function drawScale(size, width, color, value, startx, starty, endx, endy){for(var i = 0; i < size; i++){drawPointer(width, color, value, i, startx, starty, endx, endy);} }//為表盤的中心填充顏色 function drawFill(){cxt.save();cxt.beginPath();cxt.arc(550, 310, 7, 0, 360, false);cxt.closePath();cxt.fillStyle = "red";cxt.fill();cxt.restore(); }//畫時鐘 function drawClock(){cxt.clearRect(0, 0, 1350, 620); //清空整個畫布var now = new Date(); //獲取系統時間,取出時,分,秒var sec = now.getSeconds();var min = now.getMinutes();var hour = now.getHours();min += sec / 60;hour += min / 60;if(hour > 12) hour -= 12;cxt.beginPath();cxt.lineWidth = 10;cxt.strokeStyle = "blue";cxt.arc(550, 310, 300, 0, 360, false);cxt.closePath();cxt.stroke();drawScale(12, 7, "pink", 30, 0, -280, 0, -260); //畫時刻度drawScale(60, 5, "pink", 6, 0, -280, 0, -270); //畫分刻度drawPointer(7, "purple", hour, 30, 0, 12, 0, -210); //畫時針drawPointer(5, "yellow", min, 6, 0, 15, 0, -240); //畫分針drawPointer(4, "red", sec, 6, 0, 17, 0, -250); //畫秒針//細化秒針,為秒針加箭頭drawPointer(3, "red", sec, 6, -7, -235, 0, -255);drawPointer(3, "red", sec, 6, 7, -235, 0, -255);drawFill(); }drawClock(); setInterval(drawClock, 1000); //setInterval()方法中表示每隔1000ms,就執行drawClock一次

?

運行結果:





總結

以上是生活随笔為你收集整理的第一个Canvas实例-钟表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 小珊的性放荡羞辱日记 | 日韩av一区二区在线观看 | 精射女上司 | 免费av一区二区三区 | 久草免费资源站 | 人妻少妇无码精品视频区 | 涩里番在线观看 | 在线只有精品 | 五月婷婷深深爱 | 亚洲综合五月天婷婷丁香 | 越南性xxxx精品hd | jul023被夫上司连续侵犯 | 精品一区二区三区欧美 | 日韩精品一区二区免费视频 | 黑人性视频 | 日本少妇喂奶漫画 | 风韵少妇性饥渴推油按摩视频 | 日日夜夜伊人 | 天天噜 | 国产黄色免费视频 | 国产精品区在线观看 | 麻豆国产一区二区三区四区 | 国产剧情演绎av | 国产成人福利视频 | 好吊操精品视频 | 97免费人妻无码视频 | 欧美在线免费看 | 欧美大片91 | 国产精品免费久久久 | 精品一级少妇久久久久久久 | 成人综合色站 | 美女被c出白浆 | 亚洲三级免费 | 欧美日韩在线免费播放 | 777四色| 亚洲色图50p | 欧美精品在欧美一区二区少妇 | 久久久婷| 午夜伊人网| 欧美性生交大片免费看 | 亚洲中文字幕97久久精品少妇 | 国产欧美精品在线 | 国产午夜视频在线观看 | 不卡中文字幕在线观看 | 国产剧情av麻豆香蕉精品 | 少妇人妻偷人精品一区二区 | 91麻豆一区二区三区 | 久色视频| 欧洲-级毛片内射 | 久久r视频 | 亚洲一区二区三区四区在线播放 | 好色婷婷 | 丰满少妇高潮一区二区 | 高清国产一区 | 新红楼梦2005锦江版高清在线观看 | 老司机伊人 | 欧美日韩一区二区视频观看 | 女同hd系列中文字幕 | 琪琪色av | bbbbbxxxxx性欧美 | 中文乱码人妻一区二区三区视频 | 涩涩精品 | 亚洲精品666 | 色网站在线播放 | 91成人在线观看喷潮蘑菇 | 亚洲精品欧美精品 | av不卡一区二区 | 人妻视频一区二区 | 欧美激情在线播放 | 国产成人宗合 | 亲女禁h啪啪宫交 | 日日夜夜中文字幕 | 一卡二卡三卡视频 | 色老头一区二区三区 | aaa在线视频 | 在线免费观看日韩视频 | 777四色| 性大片潘金莲裸体 | 美女涩涩视频 | 狠狠躁日日躁 | 精品国产自在精品国产精小说 | 国产高清无遮挡 | 九月婷婷 | 色人阁av | 四虎免费在线观看 | 亚洲熟女www一区二区三区 | 美女成人在线 | 国产成人av网 | 日韩一区二区三区av | 国产最新网址 | 久久伊人精品视频 | 男女调教视频 | 天天干天天操天天操 | 青青草国产一区二区三区 | 国产第一页屁屁影院 | 亚洲成a人v欧美综合天堂麻豆 | 日本一级理论片在线大全 | 无码人妻精品一区二区 | 免费在线观看不卡av |