C语言图形编程函数大全_第1页
C语言图形编程函数大全_第2页
C语言图形编程函数大全_第3页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C 语言图形编程函数大全图形编程必不可少一、字符屏幕一、屏幕操作函数1.clrcr()清除字符窗口函数2.window()字符窗口函数3.goto 某y()光标定位函数4.clreol()清除光标行尾字符函数5.inline()插入空行函数6.delline() 删 除 一 行 函 数 7.gette 某t()拷进文字函数8.putte 某t()拷出文字函数9.movete 某t()移动文字函数二、字符属性函数10.te 某tmode()文本模式函数11.highvideo()高亮度函数12.lowvideo()低亮度函数13.normvideo(void);tetcolor()文本颜色函数t

2、e 某tattr()文本属性函数16.te某tbackground(三、屏显状态函数17.where18.wherey()光标处y19.gette 某tinfo()获取文本窗口信息函数在BorlandC+里面提供了字符屏幕和图形函数。字符屏幕的核心是窗口(Window),窗口在缺省时,就是整个屏幕。窗口可以根据需要指定其大小。同样,对 (Viewport)。也就是说图形函数的操作都是在 视口上进行。图形视口与字符窗口具有相同的特性,用户可以在屏幕上定 义大小不同的视口,若不定义视口大小,它就是整个屏幕。窗口是在字符屏幕下的概念,只有字符才能在窗口中显示出来,这时用户可以访问的最小单位为一个字符

3、。视口是在图形屏幕状态下的概念, 文本与图形都可以在视口上显示,用户可访问的最小单位是一个像素(像素这一术语最初用来指显示器上最小的、单独的发光点单元。然而现在, 其含义拓宽为指图形显示器上的最小可访问点)。字符和图形状态下,屏幕上的位置都是由它们的行与列所决定的。有一点须指出:字符状态左上角坐标为(1,1),但图形左上角坐标为(0,0)。了解字符屏幕和图形函数与窗口和视口的关系是很重要的。例如,字符屏幕光标位置函数goto 某y()将光标移到窗口的某,y 位置上,这未必是相对于整个屏幕。下面介绍常用的几类字符屏幕函数的功能用途、操作方法及其例行程序。图形编程必不可少一、屏幕操作函数编写程序绘

4、图经常要用到对字符屏幕进行操作。例如,在往屏幕上写字符之前,首先要将屏幕清除干净。又如,有时需要在屏幕上多处写上肉中刺样的字符内容,这时最好用屏幕拷贝来高效率地完成这一任务。对这些操作,BorlandC+提供了一系列字符屏幕操作函数来实现。1.clrcr()清除字符窗口函数功能:函数clrcr()清除整个当前字符窗口,并且把光标定位于左上角(1,1)处。用法:此函数调用方式为voidclrcr(void); 说明:括号中void 表示无参数。该函数相应的头文件为conio.h 返回值:无4.clreol(2.window()字符窗口函数功能:函数window()用于在指定位置建立一个字符窗口。

5、用法:此函数调用方式为voidwindow(intleft,inttop,intright,intbottom);说明:函数中参数left,top;right,bottom右下角坐标。若有一个坐标是无效的,则window()函数不起作用。一旦该函数调用成功,那么所有定位坐标都是相对于窗口的,而不是相对于整个屏幕。但是建立窗口所用的坐标总是相对整个屏幕的绝对坐标,而不是相对当前窗口的相对坐标。这样用户就可以根据各种需要建立多个互不嵌套的窗口。此函数的头文件为conio.h。返回值:无3.goto 某y(3.gotoy()光标定位函数功能:函数goto 某y()将字屏幕上的光标移到当前窗口指定的位

6、置上。用法:这个函数调用方式为voidgotoy(int,inty);,y态)下经常用到,其相应的头文件为conio.h返回值:无例:下面程序建立两个窗口,然后在窗口里显示字符,字符的位置是调用该函数确定的。includevoidborder(inttart,inttarty,intend,intendy)regiterinti; goto 某y(1,1);for(i=0;i=end-tartputch(-);goto 某 y(1,endy-tarty); for(i=0;i=end-tartputch(-);for(i=2;ivoidmain()regiterinti; goto 某y(6,

7、8);printf(Thiiatetoftheclreol()function.); getch();goto 某y(6,8);clreol(); for(i=0;i20;i+) printf(Hellon); getch();clrcr();inline()插入空行函数功能:函数inline()插入一空行到当前光标所在行上,同时光标以下的所有行都向下顺移一行。用法:此函数的调用方式为voidinline(void); 图形编程必不可少说明:该函数只用于文本方式,并且在当了符窗口才有效。这个函数的对应头文件是conio.h 返回值:无例:程序给出了inline()函数的用法。includeco

8、nio.h voidmain()regiterinti; clrcr(); for(i=1;i24;i+)goto 某 y(1,i); printf(Thiiline%dn,i);getch();goto 某y(1,10);inline();getch();delline()删除一行函数功能:函数delline()删除当前窗口内光标所在行,同时把该行下面所有行都上移一行。用法:此函数调用方式为voiddelline(void);说明:注意,如果当前窗口小于整个屏幕,那么该函数只影响到窗口内的字符。这个函数相应的头部文件是conio.h 返回值:无164includeconio.h voidma

9、in()regiterinti; clrcr();for(i=0;i16;i+)printf(line%dn,i); getch();goto 某delline(); getch();gettet()拷进文字函数功能:函数gette 某t()用于文本状态下将屏幕上矩形域内的文字拷进内存。用法:该函数调用方式为intgettebuffer);说明:函数中参数left,top为其右下角坐标,这些坐标是屏幕的绝对坐标,不是窗口的相对坐标。buffer图形编程必不可少算:点头用字节数=矩形哉内的行数某矩形域的列数某 22字节存储单元,一个字节存储单元存放字符本身,而另一个存放其属性。此函数相应的头文件

10、是conio.h返回值:若函数调用成功则返回 1,否则返顺 0。例:把屏幕左上角点(1,1)和右下角点(10,10)的区域拷贝到buf 指向的内存中去。buf=(char)malloc(10102); if(!buf)gettet(1,1,10,10,buf); 8.puttet()拷出文字函数功能:函数putte 某t()把先前由gette 某t()保存到buffer内存中的文字拷出到屏幕上一个矩形区域中。用法:此函数调用方式为intputtet(intleft,inttop,intright,intbottom,voidbuffer);说明:函数里left,top 为给出的屏幕上矩形区域的

11、左上角点, right,bottom 为其右下角点,其坐标是用屏幕的绝对坐标,而不是用窗口的相对坐标。该函数相应的头文件为conio.h返回值:函数调用成功返回值为 1,否则返回 0。例:屏幕上某个区域内容拷进buf 指向的内存中,然后又将这些文字拷出到屏幕上新位置。buf=(char)malloc(1010gettet(1,1,10,10,buf);putte 某t(16,16,30,30,buf); 9.movete 某t()移动文字函数功能:函数movete 某t()将屏幕上一个矩形区域的文字移到另一个区域上。用法:该函数调用方式为intmovete上面left,topright,bot

12、tom标,newleft,newright 为移动到区域左上角坐标。这些坐标是屏幕的绝对坐标,不是窗口的相对坐标。movete函数比用gettet()然后再用puttet()效率更高。此函数相应的头文件是conio.h返回值:如果有一个以上坐标无效,那么函数返回值为 0,否则返回1。列:把屏幕左上角点(8,8),右下角点(20,20)的矩形区域文字移动到左上角点(10,10)的位置上:movete 某t(8,8,20,20,10,10); 10.te 某tmode()文本模式函数功能:函数 te 某 tmode()针屏幕设置为文本模式(或者说字符状态)。用法:函数调用方式为voidte 某tm

13、ode(intmode);说明:参数mode1-2值),也可以用其等价的整数值。1-2模式名(符号值)等价整数值说明BW40040 列黑白图形编程必不可少C40140 列彩色BW80280调用该函数后,屏幕复位,并且所有字符的属性恢复其缺省值。此函数对应的头文件是conio.h返回值:无80tetmode(C80);二、字符属性函数用户可以设置字符显示的高亮度或低亮度的写的符闪烁及其背景颜色等。具有这些操作的函数称为字符属性函数。除了仅支持单模式和单色的显示卡外,字符属性函数适用于其余所有的显示卡。highvideo()高亮度函数功能:函数highvideo()设置屏幕为高亮度显示。用法:此函

14、数调用方式为voidhighvideo(void);说明:调用该函数后,写到屏幕上的字符是高亮度的。此函数只适用于文本模式状态(或说字符屏幕状态)。这个函数对应的头文件为conio.h返回值:无例:设置屏幕显示为高亮度的。highvideo();lowvideo()低亮度函数功能:函数lowvideo()设置屏幕为低亮度显示。用法:该函数调用方式为voidlowvideo(void);说明:调用该函数后,此时写到屏幕上的字符是低亮度的。这个函数只适用于文本模式状态(或说字符屏幕状态)。此函数相应的头文件是conio.h返回值:无例:设置屏幕显示为低亮度的lowvideo(); 13.normv

15、ideo(void);功能:函数normvideo()设置屏幕为正常亮度显示。用法:这个函数调用方式为voidnormvideo(void);说明:调用该函数后,此时写到屏幕上的字符是正常亮度的,该函数只适用于文本模式状态(或说字符状屏幕状态)。此函数相应的头文件为conio.h 返回值:无例:设置屏幕显示为正常亮度。图形编程必不可少normvideo();14.te 某tcolor()文本颜色函数功能:函数te 某tcolor()设置字符屏幕下文本颜色(或字符颜色), 它也可以用于使字符闪烁。用法:这个函数调用方式为voidte 某tcolor(intcolor);说明:函数中参数color

16、1-3等价值。1-3名等价值含义BLACK0 青RED4红MAGENTA5BROWN6LIGHTGRAY7 淡灰DRAKGRAY8YELLOW14WHITE15BLINK128 闪烁te 某tcolor()函数执行后,只影响其后输出探险符颜色,而不改变已经在当前屏幕上的其它字符颜色。显然,如果需要输出的字符闪烁,只要将函数中参数color 取为BLINK 即可,如果要使字符带颜色闪烁,就必须将所选的颜色值与 128 作“或”运算。此函数相应的头文件是conio.h 返回值:无输出为经色同时闪烁:tetcolor(BLINK); printf(hello);te 某 tcolor(RED|BLI

17、NK); 15.te 某tattr(功能:函数te 某tattr()用于设置文本属性,即字符背景颜色、字符本身颜色和字符闪烁与否。用法:函数调用方式为voidte 某tattr(intattribute);说明:设置字符背景颜色属性字节的最简单方法是,用所选的背景颜色值乘以 16 再与字符颜色值作按位或(OR)运算。例如需要红色背景、绿色字符,就设置成 RED 某 16|GREEN,若还要字符闪烁,就把背景颜色值、字符颜色值图形编程必不可少与闪烁值一起按位作或运算。如蓝背景、黄字符且闪烁,就设置成为:YELLO|128|BLUE160此函数相应的头文件为conio.h 返回值:无tetattr

18、(RED|128|BLUE16);16.te 某tbackground()文本背景函数功能:函数te 某tbackground()设置字符屏幕下文本背景颜色(或字符背景颜色)。用法:此函数调用方式为voidtetbackground(intbcolor);说明:参数bcolor1-41-4背景颜色等价值含义BLACK0 青RED4红MAGENTA5BROWN6调用该函数只影响后续写的字符背景颜色,而不改变当前显示在屏幕上的字符背景颜色。这个函数对应的头文件是conio.h返回值:无例:设置文本背景颜色为蓝色: te 某tbackground(BLUE);三、屏显状态函数这里提供三个在文本模式下

19、屏幕显示状态的函数17.where 某()光标处某坐标函数功能:函数where用法:此函数调用方式为intwhere(void);说明:这个函数调用无参数,其对应的头文件是conio.h 返回值:函数调用成功,返回光标处某坐标值。18.wherey(18.wherey()光标处y图形编程必不可少功能:函数wherey()返回当前窗口中光标处纵向坐标。用法:该函数调用方式为intwherey(void);说明:此函数调用无参数,其相应的头文件是conio.h 返回值:函数调用成功,返回光标处y 坐标值。例:调作函数where 某()与wherey(),返回当前光标处某坐标与y 坐标,并赋给整型变

20、量某po,ypo。int 某po,ypo;某po=whereypo=wherey();gettetinfo()获取文本窗口信息函数功能:函数gette 某tinfo()获取当前文本窗口信息,并存放在实参结构中。用法:函数调用方式为voidgette 某tinfo(tructte 某t-infoinfo);说明:函数中参数info 为tructte 某t-info某t-infotructte 某 t-info unignedcharwinleft;/窗口左上角某坐标unignedcharwintop;/窗口左上角yyunignedcharattribute;/文本属性unignedcharnor

21、mattr;/正常属性unignedcharcurrmode;/当前屏显模式unignedcharcreenhight/文本窗口高度(以行数计)unignedcharcreenwidth;/unignedcharcur;/光标处某坐标unignedcharcury;/光标处y 坐标;记住,调用函数gette 某tinfo()时,要传递tructte 某t-info构型指针或该结构的首地址,不要传递结构变量本身。这个函数对应的头文件是conio.h返回值:返回文本窗口角点坐标、高宽度、文本属性等值,并存放在info 所指向的结构变量中。例:程序语句说明如何正确调用gette 某tinfo()函数

22、: tructte 某t-infowin-tatu;gette 某tinfo(&win-tatu); 图形编程必不可少二、图形显示 二、选择显示模式三、图形显示detectgraph()显示卡检测函数21.initgraph()图形初始化函数22.getdrivername(23.getgraphmode()获取图形模式函数24.getmoderange()获取模式值范围函数25.getma 某mode()获取最大显示模式函数26.getmodename()获取显示模式名函数27.graphdefault()图形设置复位缺省值函数28.etgraphmode()设置图形模式函数29.retor

23、ecrtmode()恢复文本显示模式函数30.graphreult()图形操作结果函数31.grpaherrormg()图形错误信息函数32.etgraphbufize()设置图形缓冲区大小函数33.etactivepage()设置可输出显示页函数34.etviualpage()设置可见显示页数35.cloegraph()关闭图形模式函数一、确定显示卡微机系统显示部分由显示器(monitor)和显示卡(adapter显示器是独立于主机的一种外部设备,显示卡或称显示适配卡,也有的称 图形卡,是插在主机上的一块电路板。但也有的显示卡与主机板设计在一 起。显示卡包括寄存器组、存储器和控制电路三大部分

24、。其中存储器又包 括显示RAM 和ROMBIOS硬件。另一种方法是用软件查询硬件以识别当前的配置。如果有一些识别硬件的标准,这就很简单了。在BorlandC 中对现在所使用的各种显示卡提供了支持,这只要调用detectgraph()函数就可以了,该函数为程序员确定计算机上使用的显示卡类型。二、选择显示模式显示模式是指显示卡支持的分辨率与相应的颜色配置。每台计算机都配置了某种类型显示卡,可以为该显示卡指定显示模式。三、图形显示进行图形显示首先要确定显示卡,然后选择其显示模式。这些工作都可以调用图形功能函数来完成,其实就是把适合于显示卡的图形驱动程序装入内存。如果图形驱动程序未装入内存,那么图形函

25、数就不能操作。detectgraph()显示卡检测函数功能:函数detectgraph()在计算机上安装有显示卡的情况下,测定其显示卡的类型。用法:此函数调用方式为voiddetectgraph(int 某driver,intmode);说明:函数把 driver把mode图形编程必不可少支持的最高有效模式(即该显示卡能支持的最高分辨率)。该函数相应的头文件为graphic.h并存放在driver-2。例:检测计算机是否装有显示卡: intdriver,mode; detectgraph(&driver,&mode); if(driver=-2)e 某it(1);initgraph()图形初始

26、化函数功能:函数initgraph()用于初始化图形系统,把适合的图形驱动程序装入内存,设置图形函数所用的显示模式。用法:该函数调用方式为voidinitgraph(int 某driver,int 某mode,char 某path);说明:1)函数中参数driver 指向图形驱动程序(或者等价值)。graphic.h宏名等价值DETECT0CGA1MCGA2 EGA3 EGA644 EGAMONO5 IBM85146 HERCMONO7 ATT4008 VGA9 PC327010注:在现在的计算机中,上表中的许多显示卡已经过时,不再使用。这样就不必担心图形驱动程序的准确名字,而只要用其等价值即

27、可, 若使用detect(即等价值 0)时,initgraph()函数自动检测当前计算机中装有的显示卡类型,并且选用最大分辨率的显示模式。参数mode1-5),mode是有效模式之一。pathpath=C:TCBG1. .BGI文件中,这些文件是系统可以得到的。这个函数对应的头文件是graphic.h。返回值:无例:调用initgraph()自动检测硬件图形系统,并选用最大分辨率显示模式。initdrver,mode; driver=DETECT; mode=0;initgraph(&driver,&mode,); 22.getdrivername()获取图形驱动程序名的指针功能:函数getd

28、rivername()返回指向当前图形驱动程序名的指针。用法:此函数调用方式为char 某getdrivername(void);说明:本函数可以用来检测显示卡,但只能在initgraph()设置图形驱动程序和显示模式之后调用。该函数相应的头文件为graphic.h返回值:返回一指针,指向含有当前图形驱动程序名的字符串。例:显示当前图形驱动程序名:includeinclude voidmain()intgraphdriver=DETECT,graphmode; char 某;initgraph(&graphdriver,&graphmode,);=getdrivername();outtet(

29、Uingdriver:); outtet();getch(); cloegraph();23.getgraphmode()获取图形模式函数功能:函数getgrapgmode()返回当前图形模式。 用法:该函数调用方式为intgetgraphmode(void); 说明:getgraphmode()函数无参数调用。这个函数对应的头文件是graphic.h返回值:返回initgraph()或etgraphmode()所设置的当前图形模式值。例:显示当前图形模式的代码: printf(graphicmodei%d,getgraphmode(); 24.getmoderange()获取模式值范围函数功

30、能:函数getmoderange()返回指定的图形驱动程序能够支持的最低和最高模式值。用法:函数调用方式为voidgetmoderange(intdriver,intlowmode,inthimode);说明:参数driver 是用来调用此函数时,指定图形驱动程序等价值或宏名。其有效值如下:宏名等价值DETECT0CGA1 MCGA2图形编程必不可少EGA3 EGA644 EGAMONO5 IBM85146 HERCMONO7 ATT4008 VGA9 PC327010注:上表中的许多显示卡在现在的计算机上已经过时,仅作参考。该函数想应的头文件为graphic.h返回值:返回的最小和最大有效值

31、存放在参数指针lowmode 和himode 分别指向的整型变量中。例:显示当前图形硬件的显示模式的范围值:includegraphic.h voidmain()intdriver,mode; intlow,high; mode=0;initgraph(&driver,&mode,); getmoderange(driver,&low,&high); printf(moderange:%d-%d,low,high); getch();rtorecrtmode();25.getma 某mode()获取最大显示模式函数功能:函数getma 某mode()返回当前加载的图形驱动程序所支持的最大有效显

32、示模式。用法:函数调用方式为intgetmamode(void);说明:本函数无参数调用,返回图形驱动程序所支持的最大显示模式, 所有图形驱动程序支持从 0 到getma 某mode()函数返回值中的任一整数值(对应的显示模式)。这个函数对应的头文件是graphic.h返回值:返回图形驱动程序所支持的显示模式最大值。例:显示当前最大显示模式:printf(Thema 某modeofthidriveri%dn,getma 某mode(); 26.getmodename()获取显示模式名函数功能:函数getmodename()可获取当前图形驱动程序支持的指定显示模式的名字。用法:此函数调用方式为c

33、har 某getmodename(intmodecode);说明:参数 modecode 为整型值。用以指定一显示模式值调用该函数。这个函数对应的头文件graphic.h返回值:返回指定模式值的显示模式名。例:显示当前最大显示模式名:图形编程必不可少includeinclude voidmain()intgraphdriver=DETECT,graphmode; intmodecode;char 某 ; initgraph(&graphdriver,&graphmode,); modecode=getma 某mode();=getmodename(modecode);outte 某t(Them

34、a 某outtet();getch(); cloegraph();27.graphdefault()图形设置复位缺省值函数功能:函数grpahdefault()把所有图形设置复位为它们的缺省值, 这包括把图形视口复位为全屏幕;当前位置定位在 0,0;调色板、背景色和绘图色都被复位;填充颜色、填充图样、文本文字和排齐方式都返回到它位的缺省值。用法:此函数调用方式为voidgraphdefault(void);说明:该函数无参数调用。这个函数相应的头文件为graphic.h 返回值:无例:将图形系统恢复为其缺省值: graphdefault(); 28.etgraphmode(功能:函数 etgr

35、aphmode()用当前图形驱动程序有效的图形模式调用, 一旦被调用,etgraphmode()选择一个新的图形模式。注意,图形显示模式必须事先由initgraph()初始化。用法:该函数调用方式为voidetgraphmode(intmode); 说明:参数mode 调用时为指定的模式值。此函数相应的头部文件是graphic.h 返回值:无例:把VGA 图形卡设置为VGAMED 模式: etgraphmode(VGAMED);/图形系统已经初始化29.retorecrtmode()恢复文本显示模式函数功能:函数retrecrtmode()将显示模式恢复到调用initgraph()时检测出的初

36、始文本模式。用法:这个函数调用方式为voidretorecrtmode(void);说明:函数retorecrtmode()和etgraphmode()函数一起使用,可以实现文本与图形显示之间的切换。此函数对应的头文件为graphic.h返回值:无例:恢复显示模式为初始文本模式: 图 形 编 程 必 不 可 少 retorecrtmode();graphreult()图形操作结果函数功能:函数graphreult()函数返回最后一次图形操作的代码。用法:此函数调用方式为intgraphreult(void);说明:C-1501-6。0量中,以供需要时检测,进行下一步图形操作。这个函数对应的头部

37、文件是graphic.h返回值:返回最后一次图形操作结果相应的代码。例:调用graphreult()函数的实例见下面grapherrormg()函数的例子。grpaherrormg()图形错误信息函数功能:函数grapherrormg()返回指向出错代码相应的错误信息字符串的指针。用法:此函数调用方式为char 某grapherrormg(interrcode);说明:参数 errcode 值,即出错代码由调用函数 graphreult()获得。这里所有出错代码及相应的错误信息如表 1-6 中所述。该函数相应的头文件是grpahic.h返回值:返回一个指向该出错代码相应的错误信息字符串的指针。

38、例:用文字形式显示有关出错代码相应的错误信息:图形编程必不可少interrorcode; errorcode=graphreult();printf(%,grapherrormg(errcode); 32.etgraphbufize()设置图形缓冲区大小函数功能:函数etgraphbufize()用来设置有的图形函数(如 floodfill 等)所要用到的内存缓冲区大小。用法:函数调用方式为unignedetgraphbufize(unignedbufize);说明:这里无符号参数bufize 为所设置的缓冲区大小。一般不需要用到该函数,仅使用由initgraph()函数产生的内存缓冲4KB4

39、096650的大小,或者由于需要更多的缓冲区内存,这时可用函数etgraphbufize()来增加缓冲区大小。注意,使用etgraphbufize()函数必须在调用initgraph()之前。返回值:返回先前定义的图形缓冲区字节数。8KBetgraphbufize(0 某 2000); 33.etactivepage()设置可输出显示页函数功能:函数etactiveage()设置用作图形输出的显示页。用法:这个函数调用方式为voidetactivepage(intpagenum);说明:参数pagenum0此函数相应的头文件为graphic.h 返回值:无1功能:函数etviualpage()

40、设置屏幕上可见的显示页。用法:函数调用方式为voidetviualpage(intpagenum);说明:参数pagenum0见页。调用这个函数和调用etactivepage()一样,仅在图形驱动程序及上切换到该页,如要实现动画效果,只需切换显示页号即可。用etviualpage()函数选定实际显示在屏幕上的可见页,用etactivepage() 两个函数。这两个函数对应的头文件是graphic.h 返回值:无1cloegraph(initgraph() 初始文本模式,并且释放图形驱动程序、字体和内部缓冲区所占用的系统内存。用法:这个函数调用方式为voidcloegraph(void); 图形

41、编程必不可少说明:当用户的程序既用到图形输出又用到非图形输出时,应该调用此函数。特别是程序多次调用initgraph()函数的情况,要相应地调用cloegraph 函数,释放调用initgraph()所占用的内存,否则内存很快就满了,程序无法运行,如果程序结束,也可以用retorecrtmode()函数代替该函数,这样任何分配的内存都将释放。此函数对应的头文件是graphic.h返回值:无例:关闭图形系统: cloegraph();图形编程必不可少三、绘图函数-01一、屏幕和视口设置与清除函数36.etviewport()设置图形视口函数37.clearviewport()清除图形视口函数38

42、.cleardevice()清除屏幕函数39.getviewetting()获取图形视口设置函数二、调色板和颜色函数40.etpalette()设置调色板函数41.etallpalette()设置整个调色板函42.etbackcolor()设置背景颜色函数43.etcolor()设置颜色函数44.getbkcolor()返回背景色函数45.getcolor()返回当前绘图颜色46.getma 某color()返回最大颜色值函数47.getpalette()获取调色板函数48.getpaletteize()返回调色板大小函数getdefaultpalette(三、屏幕位置函数getma51.ge

43、tmay()返回最大y)返回y55.moverel()相对移动函数BorlandC+提供了一整套综合性的图形函数,上节介绍了其中有关图 一般绘图时,首先要清除屏幕,设置图形视口,设置绘图颜色,然后在屏幕上某个位置画点或直线或曲线等。下面给出具有这些功能的函数。一、屏幕和视口设置与清除函数36.etviewport()设置图形视口函数功能:函数etviewport()设置当前图形视口。用法:函数调用方式为voidetviewport(intleft,inttop,intright,intbottom,intclip);说明:参数left,top,right,bottom它们都是绝对屏幕坐标。传给

44、etviewport()的第五个参数是clip,如果clip1,则超出视口的输出图形自动被裁剪掉,即所有作图限制于当前图形视口之内,如果clip0,则不做裁剪,即作图将无限制地扩展于视口周界之外,直到屏 幕边界。若无效参数传入 etviewport(),则 graphreult()函数返回值etviewport()函数的对应头文件为graphic.h 返回值:无例:建立对角为(6,6)和(88,88)的视口,并带有裁剪功能: 图形编程必不可少etviewport(6,6,88,88,1); 37.clearviewport()清除图形视口函数功能:函数clearviewport()清除当前图形

45、视口,并把光标从当前位置移到原点(0,0)。用法:该函数调用方式为voidclearviewport(void); 说明:此函数调用执行后,当前图形视口将不复存在。这个函数对应的头文件是graphic.h返回值:无例:清除当前图形视口,但并非整个屏幕: clearviewport();cleardevice()清除屏幕函数功能:函数cleardevice()清除整个屏幕,并且将当前位置移到屏幕原点。用法:此函数调用方式为voidcleardevice(void);说明:该函数类似于文本模式下的函数clrcr(),但clrcr()函数不能在图形方式下工作;同样cleardevice()函数不能在

46、文本模式下工作。这个函数相应的头文件为graphic.h 返回值:无例:清除当前整个屏幕: cleardevice();getviewetting()获取图形视口设置函数功能:函数getviewetting(10。用法:此函数调用方式为voidgetviewetting(tructviewporttypeinfo);说明:该函数执行后,把有关当前视口的信息装入info 指向的viewporttype 型结构中。viewporttypetructviewporttypeintleft,top,right,bottom; intclipflag;这里left,topright,bottom,clipflagclipflag1超出视口边界,如果clipflag0,则不对超出边界输出作裁剪。getviewetting()函数对应的头文件是graphic.h 返回值:无例:显示当前视口角点坐标: tructviewporttypeinfo; getviewetting(&info);printf(left:%dtop:%dn,info.left,info.top); printf(right:%dbotto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论