C语言图形库

您所在的位置:网站首页 各种杉树 C语言图形库

C语言图形库

2024-01-23 20:25| 来源: 网络整理| 查看: 265

上节讲到贴出一张图片的过程,本节接着介绍一些基本的图形库函数。

头文件 #include

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 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 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 //头文件 #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);//暂停播放音乐。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3