<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C語言繪製時鐘小程式的具體程式碼,供大家參考,具體內容如下
先貼效果圖給大家先看看
基本機制是通過獲取系統的時鐘去繪製圖線進行展示
貼出程式碼 ,大家可以直接使用的 .程式我進一步的講解
#include <graphics.h> #include <conio.h> #include <math.h> #include <time.h> #define high 480 #define width 640 #define pi 3.141592 int main() { initgraph(high, width); int center_x, center_y; center_y = width / 2; // 320 center_x = high / 2; // 240 SYSTEMTIME ti; //獲取系統的時間 // 秒針屬性 int secondEnd_x, secondEnd_y; int secondLenth = 120; secondEnd_x = center_x + secondLenth; secondEnd_y = center_y; float secondAngle = 0; // 分鐘屬性 int minuteEnd_x, minuteEnd_y; float minuteAngle = 0; int minuteLenth = 90; minuteEnd_x = center_x + minuteLenth; minuteEnd_y = center_y + minuteLenth; // 時鐘屬性 int hoursEnd_x, hoursEnd_y; float hoursAngle = 0; int hoursLenth = 60; hoursEnd_x = center_x + hoursLenth; hoursEnd_y = center_y + hoursLenth; BeginBatchDraw(); while (1) { // 獲取時間 GetLocalTime(&ti); //繪製中心座標 //setlinecolor(WHITE); //fillcircle(center_x, center_y, 2); // 繪製一個錶盤 setbkcolor(BLACK); setlinestyle(PS_SOLID, 1); setlinecolor(WHITE); circle(center_x, center_y, 130); //outtextxy(center_x - 25, center_y + width / 6, "我的時鐘"); // 輸出字串 (VC6) TCHAR s[] = _T("我的時鐘"); outtextxy(210, 400, s); // 繪製錶盤刻度 int x, y, i; for (i = 0; i < 60; i++) { x = center_x + 125 * sin(i * 2 * pi / 60); y = center_y - 125 * cos(i * 2 * pi / 60); // 一刻鐘 if (i % 15 == 0) { bar(x - 5, y - 5, x + 5, y + 5); } else if ( i % 5 == 0) //5分鐘 { circle(x, y, 3); } else { putpixel(x, y, WHITE); // 小白點 } } //轉動秒針 secondAngle = ti.wSecond * 2 * pi / 60; // 2 * pi / 60 =一秒鐘走的角度 ti.wSecond =系統當前秒 secondEnd_x = center_x + secondLenth * sin(secondAngle); secondEnd_y = center_y - secondLenth * cos(secondAngle); //轉動分鐘 minuteAngle = ti.wMinute * 2 * pi / 60 + secondAngle / 60; minuteEnd_x = center_x + minuteLenth * sin(minuteAngle); minuteEnd_y = center_y - minuteLenth * cos(minuteAngle); //轉動時鐘 hoursAngle = ti.wHour * 2 * pi / 12 + minuteAngle / 60; hoursEnd_x = center_x + hoursLenth * sin(hoursAngle); hoursEnd_y = center_y + hoursLenth * cos(hoursAngle); // 繪製秒針 setlinecolor(YELLOW); setlinestyle(PS_SOLID, 1); line(center_x, center_y, secondEnd_x, secondEnd_y); // 繪製分鐘 setlinecolor(BLUE); setlinestyle(PS_SOLID, 3); line(center_x, center_y, minuteEnd_x, minuteEnd_y); // 繪製時鐘 setlinecolor(RED); setlinestyle(PS_SOLID, 5); line(center_x, center_y, hoursEnd_x, hoursEnd_y); FlushBatchDraw(); Sleep(50); //隱藏 秒針 setlinecolor(BLACK); line(center_x, center_y, secondEnd_x, secondEnd_y); //隱藏 分針 setlinecolor(BLACK); line(center_x, center_y, minuteEnd_x, minuteEnd_y); //隱藏 時針 setlinecolor(BLACK); line(center_x, center_y, hoursEnd_x, hoursEnd_y); } EndBatchDraw(); _getch(); closegraph(); return 0; }
第一:秒鐘角度轉動的講解
1.首先數學基礎不錯的都知道 , 一個圓圈 ,一圈的角度是 2π ,所以 一秒就是2π/60 .
2. angle 角度 就是指 和 12點鐘方向的夾角 ,比如 1點和12點的夾角就是30° , 也就是 2π/12 .
第二:講解錶盤刻度的繪製
1. 將錶盤的刻度分為60份 , 並且都表為小白點
2. 5份刻度記為1小時 ,標記為小白圈
3. 15份刻度為一刻鐘=15分鐘.
好了 ,程式就是這麼簡單! 大家可以去試試
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45