C语言图形函数大全(2)

时间:2025-07-14

C语言图形函数大全

窗口内填满内容仍没有结束输出时,窗口屏幕将会自动逐行上卷,直到输出结束为止。 (2)窗口内文本的输入函数 int getche(void);该函数无须按回车键就可以从键盘上获得一个字符,在屏幕上显示的时候,如果字符超过了窗口右边界,则会被自动转移到下一行的开始位置。 4、有关屏幕操作的函数 void clrscr(void);清除当前窗口中的文本内容,并把光标定位在窗口的左上角(1,1)处。

void clreol(void):清除当前窗口中从光标位置到行尾的所有字符,光标位置不变。

void gotoxy(x,y);该函数用来定位光标在当前窗口中的位置。这里x,y是指光标要定位处的坐标(相对于窗口而言),当x,y超出了窗口的大小时,该函数就不起作用了。

int gettext(int x1,int y1,int x2,int y2,void *buffer); int puttext(int x1,int y1,int x2,int y2,void *buffer);

gettext( )函数是将屏幕上指定矩形区域内的文本内容存入buffer指针指向的一个内存空间。内存的大小用下式计算:所用字节大小=行数*列数*2。其中,行数=y2-y1+1,列数=x2-x1+1;puttext( )函数是将用gettext( )函数存入内存buffer中的文字内容拷贝到屏幕上指定的位置。

int movetext(int x1,int y1,int x2,int y2,int x3,int y3); movetext( )函数将屏幕上左上角为(x1,y1),右下角为(x2,y2)的一矩形窗口内的文本内容拷贝到左上角为(x3,y3)的新位置。该函数的坐标也是相对于整个屏幕而言的。

注意:gettext( )函数和puttext( )函数中的坐标是相对整个屏幕而言的,即是屏幕的绝对坐标,而不是相对窗口的坐标。movetext( )函数是拷贝而不是移动窗口区域内容,即使用该函数后,原位置区域的文本内容仍然存在。

void highvideo(void);设置显示器高亮度显示字符。 void lowvideo(void);设置显示器低亮度显示字符。

void normvideo(void);使显示器返回到程序运行前的显示方式。

int wherex(void);int wherey(void);这两个函数返回当前窗口下光标的x,y坐标值。

二、图形函数

TC提供了非常丰富的图形函数,所有的图形函数原型均在graphics.h中。 1、图形模式的初始化 不同的显示器适配器有不同的图形分辨率。即使是同一显示器适配器,在不同模式下也有不同的分辨率。因此,在屏幕作图之前,必须根据显示器的适配器种类将显示器设置为某种图形模式,在未设置图形模式之前,微机系统默认屏幕为文本模式(80列25行字符模式),此时所有图形函数均不能工作。设置屏幕为图形模式,可用下列图形初始化函数: void far initgraph(int far *gdriver, int far *gmode, char *path); 其中gdriver和gmode分别表示图形驱动器和显示模式,path是指图形驱动程序所在的目录路径(有关图形驱动器、图形模式的符号常数及对应的分辨率请参考其它书籍)。 图形驱动程序由TC出版商提供,文件扩展名为.BGI。不同的图形适配器有着不同的图形驱动程序。例如对于EGA、VGA图形适配器就需要调用驱动程序EGAVGA.BGI。 [例2.4]使用图形初始化函数设置VGA高分辨率图形模式。详见实例。 有时编程者并不知道自己所用的图形显示器适配器种类,或者需要将编写的程序用于不同的图形驱动器,为此TC提供了一个可以自动检测显示器硬件的函数,其调用格式为: void far detectgraph(int *gdriver,*gmode); 其中gdriver和gmode的意义与上面相同。 [例2.5]自动进行硬件测试并时行图形初始化。 该例程序中先对图形显示器自动检测,然后用图形初始化函数进行初始化设置,但TC还提供了一种更为简单的方法,即在gdriver=DETECT语句后跟initgraph( )函数。采用这种方法后,该例就可以改为[2.6]。 另外,TC还提供了退出图形状态的函数closegraph( ),其调用格式为:

C语言图形函数大全(2).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219