日韩性视频-久久久蜜桃-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实例-钟表的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 91人人草| 一本色综合| 69av网| 97福利社 | 黄色网址最新 | 久久免费精品国产 | 人妻熟女aⅴ一区二区三区汇编 | 日本三级小视频 | 国产嫩bbwbbw高潮 | 男人猛进女人爽的大叫 | 欧美精品毛片 | 色女综合| 一级片免费网址 | 日韩中文字幕视频 | www好男人| 国产香蕉在线观看 | 有色影院 | 国产视频一二三四区 | 91久久精品国产91性色69 | 国产日本一区二区三区 | 特级做a爱片免费69 少妇第一次交换又紧又爽 亚洲大胆人体 | 无码免费一区二区三区免费播放 | 日韩av日韩| 黄色一级片免费播放 | 日韩黄色av网站 | 日本少妇久久久 | 欧美特黄aaaaaa | 国产精品国产一区 | 成年人免费视频播放 | 在线观看网址你懂的 | 能在线看的av | 亚洲欧美一区二区三区孕妇 | 久久久无码精品亚洲国产 | 久久久久久久久影院 | 青青草成人在线观看 | 天堂在线视频网站 | 国产精品毛片一区 | 欧美日韩免费观看视频 | 午夜久久剧场 | 日韩美女免费视频 | 日本亚洲色大成网站www久久 | 黄色a免费| 亚洲在线观看视频 | 不卡的毛片 | 久久久久免费精品视频 | 黄色免费毛片 | 久久精品老司机 | av在线免费观看不卡 | 精品一区二区无码 | 青青草原国产 | 国产在线不卡一区 | 一区二区三区日韩视频 | 国产区精品视频 | 亚洲精品一区二区三区蜜桃久 | 中文字幕精品一区久久久久 | 午夜精品999| 日韩精品在线观看免费 | 五月深爱婷婷 | 欧美肉大捧一进一出免费视频 | av资源网在线观看 | 精品国产黄色片 | jzjzz成人免费视频 | 久久亚洲影视 | 久久久99精品免费观看 | 毛毛毛片 | 亚洲视频精品在线 | 欧美第九页 | 亚洲黄色片免费看 | 日本五十路在线 | 国产99对白在线播放 | 国产成人在线影院 | 日韩综合网站 | 天堂av在线电影 | 美女一级视频 | 五月天爱爱 | a级黄色小视频 | 亚洲专区在线视频 | 91成人在线观看喷潮 | 亚洲激情欧美色图 | 男人日女人网站 | 少妇理论片| 黄色免费网站在线观看 | 久久小草 | 久草视频免费在线观看 | 91私拍| 国产农村妇女aaaaa视频 | 91视频合集 | 午夜不卡福利视频 | 国产精品成人电影在线观看 | 夜夜操天天爽 | 少妇高潮一区二区三区99 | 日韩中文字幕免费观看 | 伊人五月婷婷 | 中文字幕av网站 | 扒开女人屁股进去 | 久久机热| 国产真实在线 | 婷婷激情社区 | 亚洲精品国产一区二 |