手繪時鐘的設計與實現

2021-10-25 03:22:52 字數 1290 閱讀 4684

實現效果圖:

1.畫布的建立

1)使用標籤

2)屬性:style=「border:1px solid」

2.  繪製時鐘刻度

自定義drawclock()

1)設定畫筆樣式和位置

2)畫12小時的刻度(使用for迴圈12次)

rotate():旋轉

moveto()和lineto():移動和畫線段

stroke():描邊路徑

3)畫60分鐘對應的刻度(使用for迴圈60次)

rotate():旋轉

moveto()和lineto():移動和畫線段

stroke():描邊路徑

3.  繪製時鐘指標2)繪製時針:

時針的角度 = 360/12 x小時 + 360/12/60 x分鐘+ 360/12/60/60 x 秒

換算成弧度:

時針的弧度 = π/6 x小時+π/360 x分鐘+ π/21600 x秒

3)繪製分針:

分針的角度 = 360/60 x分鐘+ 360/60/60 x 秒

換算成弧度:

分針的弧度 = π/30 x分鐘+ π/1800 x秒

4)繪製秒針:

分針的角度 = 360/60 x 秒

換算成弧度:

分針的弧度 = π/30 x秒

4.  繪製時鐘表盤

1)設定樣式

2)繪製表盤:arc()

3)描邊路徑:stroke()

4)恢復初始狀態:restore()

1. 每秒重新整理一次畫面

setinterval("drawclock()", 1000);

注意:此時會變成錯誤的重疊效果

解決方案:每次重新整理前需要清空畫布

2. 清空畫布

ctx.clearrect(0, 0, 300, 300);

3. 動態效果

對不起,您的瀏覽器不支援html5畫布api。

程式設計與手繪的對比

主題 對比用 和用手繪創作靜態繪畫 程式設計工具 processing void setup void draw 碼繪結果 手繪圖 在這個例子中,有兩種型別的畫面繪製。一類是常規圖形組成的圖形,這種圖畫是可以通過手繪來實現的,但是手繪很難做到線條完美,以這幅圖為例,手繪很難將圓畫的完美,但是碼繪是可...

C 數字時鐘軟體實現設計

利用c 學習內容,通過windows自帶函式實現乙個簡易的時鐘 include include 延時與清屏標頭檔案 using namespace std class time 預設建構函式 time int y,int mo,int d,int h int m,int s year y month...

門控時鐘 使能時鐘的實現

在編寫fpga的時候我們常常會遇到這樣的問題 全域性時鐘的頻率太高了,某些模組需要頻率更低的時鐘來驅動,總是呼叫pll太浪費資源了。現在說說這種時候該怎麼辦 1.門控時鐘分頻 門控時鐘就是通過計數的方式來實現對全域性時鐘的分頻,滿足你對低頻時鐘的需求。基於計數器的分頻器不說了太基礎了,現在說說非整數...