日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言图形库——EasyX常用函数

發布時間:2025/3/11 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言图形库——EasyX常用函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上節講到貼出一張圖片的過程,本節接著介紹一些基本的圖形庫函數。

頭文件

#include <graphics.h>

1、圖形窗口背景顏色設置函數:

setbkcolor(YELLOW)//將圖形窗口背景顏色設置為黃色。

也可用

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、鼠標操作:
這里我們只列舉幾個常用的

MOUSEMSG msg; //定義一個鼠標消息 msg=GetMouseMsg();//獲取鼠標消息 switch(msg.uMsg) {case WM_MOUSEMOVE: ……break;//鼠標移動消息case WM_MOUSEWHEEL: ……break;// 鼠標滾輪撥動消息case WM_LBUTTONDOWN: ……break;// 左鍵按下消息case WM_MBUTTONDOWN: ……break;// 中鍵按下消息case WM_RBUTTONDOWN: ……break;// 右鍵按下消息 }

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常用函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。