小白easyx(1)基本操作
下面是我學(xué)習(xí)easyx的筆記,如有謬誤或侵權(quán),敬請批評指正。文章中有很多知識補(bǔ)充(因為這些東西我不是很明白),如已明白,請?zhí)^。程序在vs2022中調(diào)試并運(yùn)行。

一、基本使用說明:
1.創(chuàng)建一個空的控制臺項目(Win32 Console Application)
Win32 Console Application指win32控制臺應(yīng)用程序,屬于CUI(Character User Interface字符用戶接口)程序,以main()函數(shù)為入口,得用鍵盤輸入各種命令來使用它。它類似于MS-DOS窗口,只能運(yùn)行命令行程序,不具備消息響應(yīng)機(jī)制,可以訪問部分windows API函數(shù)。
2.添加一個新的代碼文件(.cpp)
3.引用graphics.h頭文件
EasyX 也可以在 Win32 Application 項目上使用,但Win32 Application 項目無控制臺,無法使用控制臺相關(guān)的函數(shù)
Win32 Application(標(biāo)準(zhǔn)windows程序),是指SDK程序,屬于GUI(Graphics User Interface 圖形用戶接口)程序,通過鼠標(biāo)點(diǎn)擊來完成控制,以WinMain()為入口。它具有消息響應(yīng)機(jī)制,可以運(yùn)行圖形化的C++程序。
4.運(yùn)行一個畫圓的程序
conio是Console Input/Output(控制臺輸入輸出)的簡寫,其中定義了通過控制臺進(jìn)行數(shù)據(jù)輸入和數(shù)據(jù)輸出的函數(shù),主要是一些用戶通過按鍵盤產(chǎn)生的對應(yīng)操作。conio.h則是一個庫文件,它不屬于C語言標(biāo)準(zhǔn)庫(注意移植性),是早期C語言用的輸入輸出函數(shù)庫,除個別函數(shù)[比如_getch()函數(shù)]如外,一般不用,如今常用stdio.h。
特別注意是_getch(),而不是getch()。后者在VS2022中已被廢棄,原因:微軟希望將更多函數(shù)名交由程序員決定。
5.詳解程序的? 繪圖背景函數(shù)
initgraph函數(shù)~~用于初始化繪圖窗口(提示:initial是形容詞,表示?最初的/開始的,而在計算機(jī)用語中常表示 初始化)
closegraph函數(shù)~~用于關(guān)閉繪圖窗口

二、顏色
1.表示顏色的方法
預(yù)定義常量
例如,常量BLACK,值為0,顏色:黑色。詳見easyx官方文檔
16進(jìn)制數(shù)字
0xbbggrr(0是數(shù)字0,x與X等價,bb=藍(lán)色~blue,gg=綠色~green,rr=紅色~red)
RGB
用HSLtoRGB、HSVtoRGB、RGBtoGRAY、RGBtoHSL、RGBtoHSV轉(zhuǎn)換
明度與亮度的區(qū)分,在本次學(xué)習(xí)中不重要,暫時不表(因為我也不懂)
2.與顏色相關(guān)的函數(shù)(主要)
setbkcolor函數(shù),設(shè)置當(dāng)前設(shè)備繪圖背景色
在設(shè)置背景色之后,并不會改變現(xiàn)有背景色,而是只改變背景色的值。如果需要修改全部背景色,可以在設(shè)置背景色后執(zhí)行 cleardevice()?函數(shù)。
getbkcolor函數(shù),獲取當(dāng)前設(shè)備繪圖背景色
getfillcolor函數(shù),獲取當(dāng)前設(shè)備填充顏色
setfillcolor函數(shù),設(shè)置當(dāng)前設(shè)備填充顏色
getlinecolor函數(shù),獲取當(dāng)前設(shè)備畫線顏色
setlinecolor函數(shù),設(shè)置當(dāng)前設(shè)備畫線顏色
setcolor函數(shù),設(shè)置當(dāng)前繪圖前景(線條和字體)色
該函數(shù)在 graphics.h 中聲明,用于兼容 Turbo C 中的同名函數(shù),等效于連續(xù)執(zhí)行setlinecolor 和 settextcolor 函數(shù)。建議根據(jù)需求使用 setlinecolor 或 settextcolor 代替該函數(shù)。
getcolor函數(shù),獲取當(dāng)前繪圖前景色
setcolor函數(shù)和getcolor函數(shù)均歸屬于easyx文檔的graphics.h暫留函數(shù)中。getcolor函數(shù)已廢棄,推薦使用 getlinecolor?或?gettextcolor? 替代該函數(shù)。
settextcolor函數(shù),設(shè)置當(dāng)前文字顏色
gettextcolor函數(shù),獲取當(dāng)前字體顏色
3.與顏色相關(guān)的函數(shù)(次要)
BGR宏(交換顏色中的紅色和藍(lán)色)
GetBValue宏(返回指定顏色中的藍(lán)色值)
GetGValue宏(返回指定顏色中的綠色值)
GetRValue宏(返回指定顏色中的紅色值)

三、繪圖背景函數(shù)
1.主要
initgraph
closegraph
cleardevice函數(shù),使用當(dāng)前背景色清空繪圖設(shè)備
2.次要
clearcliprgn函數(shù),清空裁剪區(qū)
setcliprgn函數(shù),設(shè)置裁剪區(qū)
getaspectratio函數(shù),獲取當(dāng)前縮放因子
setaspectratio函數(shù),設(shè)置當(dāng)前縮放因子
如果縮放因子為負(fù),可以實現(xiàn)坐標(biāo)軸的翻轉(zhuǎn)。例如,執(zhí)行 setaspectratio(1, -1) 后,可使 y 軸向上為正。
setorigin函數(shù),設(shè)置坐標(biāo)原點(diǎn)
graphdefaults函數(shù),重置視圖、當(dāng)前點(diǎn)、繪圖色、背景色、線形、填充樣式、字體