使用c語言easy x庫實現實時鐘錶

2021-08-30 18:00:13 字數 3890 閱讀 5469

#include
這是最終的效果圖

新建畫布

initgraph

(width,high)

;

width,high在開頭定義為常量

在畫布**繪製乙個圓

定義圓心座標為(width/2,high/2)

int center_x=width/2;

int center_y=high/

2;

繪製乙個圓,顏色為藍色,半徑為width/5+20

繪製秒針

//定義秒針長度

int secondlength=width/5;

//畫秒針

setlinestyle

(ps_solid,2)

;//定義線的型別,寬度為2

setcolor

(blue)

;//定義顏色為藍色

實現轉動

思路:使用三角函式知識,控制secondend_x,secondend_y的移動

轉動角度:每分鐘轉動2*pi,則每秒轉動2*pi/60,獲得當前系統時間的秒值,乘以每秒轉動的角度,即可得出當前時間應該轉動的角度

注意:三角函式需要#include支援

//實現秒針轉動

systemtime ti;

//獲取系統時間

getlocaltime

(&ti)

;//得當當前系統時間

float secondangle=0;

//秒針轉動的角度

secondangle=ti.wsecond*

2*pi/60;

//每秒轉動的角度等於當前時間*2*pi/60

2. 動畫的實現:思路:每次繪製完一幀影象後,繪製乙個與背景顏色一樣的秒針,隱藏前乙個秒針,並使用while(1)實現死迴圈

systemtime ti;

//獲取系統時間

while(1

)

但是我們發現影象一直在閃爍我們加上sleep也不行,easyx提供了批量繪圖函式beginbatchdraw();flushbatchdraw();endbatchdraw();

systemtime ti;

//獲取系統時間

類似的,畫出分針和時針,注意時針乙個週期是12小時,所以時針的角度應該是

hourangle=ti.whour*2*pi/12;

注意**結構,先是定義,然後flushbatchdraw();批量繪製,最後隱藏

拿出**

float secondangle=0;

//秒針轉動的角度

float minuteangle=0;

//分針轉動的角

float hourangle=0;

//定義時針轉動的角

systemtime ti;

//獲取系統時間

同樣是使用三角函式知識,可以模擬指標畫,我使用了一種及其複雜和智障的方法畫,先畫出了12,3,6,9,然後再乙個乙個刻畫,寫完才想到懶得改了

easyx中文字的輸入用到outtextxy函式以下為outtextxy的用法和例項

outtextxy

這個函式用於在指定位置輸出字串。

void

outtextxy

(int x,

int y,

lpctstr str);

void

outtextxy

(int x,

int y,

tchar c

);引數:

x 字串輸出時頭字母的 x 軸的座標值

y 字串輸出時頭字母的 y 軸的座標值。

str

待輸出的字串的指標。

c 待輸出的字元。

返回值:

(無)說明:

該函式不會改變當前位置。

字串常見的編碼有兩種:mbcs 和 unicode。vc6 新建的專案預設為 mbcs 編碼,vc2008 及高版本的 vc 預設為 unicode 編碼。lpctstr 可以同時適應兩種編碼。為了適應兩種編碼,請使用 tchar 字串及相關函式。

來自easyx官網

tchar s=

_t("*輸入文字*");

outtextxy

(x_11+r/3-

10, y_11+

sqrt

(3.0)/

2*r+r/

2, s)

;

上面的**是好幾年前寫的,新版本easyx已經放棄了之前的一些函式,有小夥伴反映**錯誤很多,我已經在新版本環境下修改了,目前環境是vs2019+easyx 2018春風版,上面**沒有修改,思路是一樣的下面貼上修改後的完整原始碼

c語言 easyx實現飄雪花效果

首先,需要設定雪花在乙個視窗中的總數目,這個關係到雪花的空間密度。假定有20個雪花。就需要兩個陣列,分別為x 20 y 20 來分別記錄x座標和y座標。通過自定義乙個函式來初始化雪花的位置。這裡需要用到隨機數的相關知識。其次,如果當雪花落下時,在雪花落的位置畫乙個雪花,模擬雪花殘留在地面上。當雪花的...

使用iOS原生框架實現實時濾鏡效果

從ios5開始,原先僅支援macos的影象處理框架 coreimage就已經提供給了ios開發者,意味著ios裝置上從此也可以很容易就能處理的各種效果,色彩,飽和度,變形神馬的,然而蘋果關於這個的官方文件不怎麼完善也沒有示例 所以大家很少用它。然而濾鏡效果是乙個屬於門檻比較高的影象處理領域的問題,需...

redis排重 使用Redis實現實時排名

redis用途很廣泛,分布式使用者session快取 爬蟲url佇列 活動頁面的動態列表資訊等。使用redis實現排行榜系統也是很常見的方案。假如設計乙個積分排名系統。如果積分資料都存放在資料庫中,積分的更新是動態的,每次訪問排行頁面都需要對資料進行重新排序,在真實的產品應用中幾乎是不可接受的。re...