C语言图形库 |
您所在的位置:网站首页 › 各种杉树 › C语言图形库 |
上节讲到贴出一张图片的过程,本节接着介绍一些基本的图形库函数。 头文件 #include1、图形窗口背景颜色设置函数: 例 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 |