- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 应用程序举例 * 11.1 全屏幕模拟时钟的C源程序 这个应用程序如图11-1所示: 图11-1 模拟时钟 将全屏幕设置为640*480的模式(各顶点坐标见图11-1所示),以(300,240)为圆心分别画两个同心圆,以(300,240)为中心,分别用不同的颜色画出时针、分针、秒针,在内圆内侧画出60个小线段表示刻度。秒针每1秒跳动一格并发声,秒针每转一圈分针跳动一格,分针每转一圈时针跳动一格并发声。 为实现上述效果,要用到图形函数、时间函数和其他函数。 一、图形函数 Turbo C中有91个字符屏幕和图形函数(详见《Turbo C实用大全》),使用时用graphics.h头文件。 1.初始化图形系统 本例用下述方式实现: int gd=VGA,gm=2; initgraph(gd,gm,d:\\turboc); 它的作用是将图形驱动程序调入内存,图形驱动程序为d:\turboc目录的EGAVGA.BGI文件。注意:指定路径时,转义字符“\\”表示ASCII码的反斜杠“\”。 本例选择的图形驱动程序为VGA,模式为2,即640?480模式。VGA共有3种模式,模式0为640?200,模式1为640?350。 2.本例中用到的一些图形函数 (1)line(x1,y1,x2,y2) 功能:从点(x1,y1)到点(x2,y2)用当前颜色画线段。 (2)setbkcolor(int color) 功能:用color所代表的颜色设置背景色。 color可取表11-1中的数字或单词。 表11-1 背景函数、画线函数参数值及其含义 0 1 2 3 4 5 BLACK BLUE CREEN CYAN RED MAGENTA 黑 蓝 绿 青 红 洋红 6 7 8 9 10 11 BROWN LIGHTGRAY DARKGRAY LIGHTBLUE LIGHTGREEN LIGHTCYAN 棕 淡灰 深灰 淡蓝 淡绿 淡青 12 13 14 15 ? ? LIGHTRED LIGHTMAGENTA YELLOW WHITE ? ? 淡红 淡洋红 黄 白 ? ? (3)circle(x,y,r) 功能:以(x,y)为圆心,以r为半径,用当前颜色画圆。 (4)setcolor(int color) 功能:指定color所代表的颜色为当前画线颜色。 (5)setwritemode(int mode) 功能:设置画线的输出模式。mode可取1或0。取1,为新线的像素点与旧线像素点之间先进行“异或”,然后再向屏幕输出;取0,为新线的像素点先覆盖原有图像,再输出。 (6)closegraph( ) 功能:关闭图形模式。 二、时间函数 Turbo C 中定义了时间结构体time类型结构,本例在主函数中先定义了一个这样的结构体变量struct time t。然后在程序中采用了gettime(t)时间函数,使用时要用dos.h头文件。功能:把当前时间填入结构体变量t中。即以当前时间的时、分、秒等分别给结构体变量t的各成员赋值。 三、其他函数 本例中还用到了一些其他函数。 (1)sin(x)和cos(x),正弦和余弦函数,参数取值单位为弧度,使用时用math.h头文件。 (2)sound(400)和sound(1000)等。功能:分别按频率400、1000Hz打开PC扬声器。使用时用dos.h头文件。 (3)nosound( )。功能:关闭PC扬声器。使用时用dos.h头文件。 (4)kbhit( )。功能:检查是否按下有效键,是返回非零整数;否返回零。使用时用conio.h头文件。 (5)delay(unsigned m)。功能:中断程序的执行,中断的时间由m指定,m的单位为机器毫秒(此时间受计算机主频影响),起短暂延时作用。使用时用dos.h头文件。 四、源程序(命名为clock.c) (详见教材第11章。) 11.2 设计立体按钮的C源程序 本例用C语言设计两个立体按钮,一个凹形、一个凸形。 一、初始化图形系统及图形函数 1.初始化图形系统 与第一节不同,本例初始化图形系统用下述方式实现: int GraphDriver=DETECT,GraphMode; initgraph( GraphDriver,GraphMode,d:\\turboc2); 其中,图形驱动程序变量赋初值DETECT,模式
文档评论(0)