C语言图形库——EasyX常用函数
上節講到貼出一張圖片的過程,本節接著介紹一些基本的圖形庫函數。
頭文件
#include <graphics.h>1、圖形窗口背景顏色設置函數:
例
也可用
setbkcolor(RGB(180,24,137));利用三原色設置顏色,RGB(紅,綠,藍),每種顏色的取值范圍為0—255,RGB(180,24,137)的意思就是說紅:綠:藍=180::24:137.
2、打印文字函數:
outtextx(x,y,L”hello”),在坐標(x,y)處打印出hello,該函數只能打印字符串,打印數字需要強轉類型,例如:
int a=1; Char str[10];Sprintf(str,”%d”,a); outtextx(x,y,str);3、設置文字風格函數:
settextstyle(h,w,L”楷體”);將字體設置為高度為h、平均寬度為w以楷體樣式輸出,寬度w可設置為0即比例自適應
4、畫線段函數:
line(x,y,xx,yy);//在圖形窗口中將坐標為(x,y)、(xx,yy)的兩點連接起來。5、設置線段顏色函數:
setlinecolor(RED);//將線段設為紅色6、顯示點函數:
putpixel(x,y,BLUE);//在圖形窗口的(x,y)處顯示一個顏色為藍色的點。7、畫矩形函數:
rectangle(x,y,xx,yy);//矩形左上角坐標(x,y)、右下角坐標(xx,yy)為界顯示一個矩形。8、畫圓函數:
fillcircle(x,y,r);//以圓心為(x,y)、半徑為r畫圓。9、清屏函數:
cleardevice();//具體來說這個函數的功能是將當前圖形窗口清空,還原至背景顏色。10、鼠標操作:
這里我們只列舉幾個常用的
11、雙緩沖,用于緩解屏幕跳動
BeginBatchDraw(); EndBatchDraw();12、pos_x,pos_y表圖片顯示的位置,photo_width,photo_high表圖片的大小,&image圖片的地址,photo_x,photo_y表從該處開始取圖
putimage(pos_x,pos_y,photo_width,photo_high,&image,photo_x,photo_y);13、獲取圖片image的長和寬
IMAGE iamge; image.getwidth();//獲取寬 image.getheight();//獲取高14、設置填充色
setfillcolor(RED);15、計時(記秒數),需添加頭文件
#include <time.h> clock_t start=clock(); clock_t end=(clock()-start)/CLOCKS_PER_SEC;16、畫旋轉線段
int line_long;//線段長度 float line_Alge;//每次轉動的角度 int center_x,center_y,end_x,end_y;//線段的起點與終點 end_x=center_x+line_long*sin(line_Alge); end_y=center_y+line_long*cos(line_Alge); line(center_x,center_y,end_x,end_y);17、隨機函數
#include <time.h>int num=rand()%100;//從0-99之間隨機選取一個數 (在使用隨機函數的開始出要用隨機函數的種子,避免每次出現的隨機數是一樣的:srand((unsigned int)time(NULL));這里在講一個上節漏掉的函數:
(1)創立圖形窗口并保留控制臺窗口:
initgraph(w,h, SHOWCONSOLE),w、h的意義不必多說。(2)關閉圖形窗口:
closegraph();到這里如果這些函數都掌握了,用C語言做一些小游戲應該不成問題,比如推箱子、打地鼠、迷宮等等,當然你必須要有一定的邏輯能力,這些函數只是幫你完成游戲的畫面。
接下來再說一些可能會用的函數:
獲取屏幕寬:
GetSystemMetrics(SM_CXFULLSCREEN);//此函數返回當前電腦屏幕的寬`。獲取屏幕高:
GetSystemMetrics(SM_CYFULLSCREEN);//此函數返回當前電腦屏幕的高。播放音樂
這個就不屬于圖形庫的內容了,在做游戲的時候肯定不能少了配樂。
#include <mmsystem.h> //頭文件 #pragma comment(lib,”winmm.lib”) //引用靜態庫 mciSendstring(“open 音樂文件名(加文件類型,例:.mp3) alias music”,NULL,NULL,NULL);//將音樂文件放在與源文件同一目錄下,alias music的意思就是將這個音樂文件重新命名為music mciSendstring(“play music repeat”,NULL,NULL,NULL);//播放音樂,play意為播放,同樣可換做pause:暫停,stop:停止,close:關閉,Resume:繼續。Repeat意為重復播放。 mciSendstring(“stop music repeat”,NULL,NULL,NULL);//暫停播放音樂。 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的C语言图形库——EasyX常用函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT5主界面“关闭窗口”按钮设置弹出提示
- 下一篇: hdoj 1013 Digital Ro