C语言图形编程_下载

上传人:无*** 文档编号:168551536 上传时间:2022-11-10 格式:DOCX 页数:77 大小:174.57KB
收藏 版权申诉 举报 下载
C语言图形编程_下载_第1页
第1页 / 共77页
C语言图形编程_下载_第2页
第2页 / 共77页
C语言图形编程_下载_第3页
第3页 / 共77页
资源描述:

《C语言图形编程_下载》由会员分享,可在线阅读,更多相关《C语言图形编程_下载(77页珍藏版)》请在装配图网上搜索。

1、C语言图形编程(、字符屏幕)、屏幕操作函数1. clrscr()清除字符窗口函数2. window。字符窗口函数3. gotoxy()光标定位函数4. clreol。清除光标行尾字符函数5. insline。插入空行函数6. delline。删除一行函数7. gettext。拷进文字函数8. puttext。拷出文字函数9. movetext。移动文字函数二、字符属性函数10. textmode。文本模式函数11. highvideo。高亮度函数12. lowvideo。低亮度函数13. normvideo(void);14. textcolor。文本颜色函数15. textattr。文本属性

2、函数16. textbackground()文本背景函数三、屏显状态函数17. wherex。光标处x坐标函数18. wherey。光标处y坐标函数19. gettextinfo。获取文本窗口信息函数在Borland C+里面提供了字符屏幕和图形函数。字符屏幕的核心是窗口(Window),它 是屏幕的活动部分,字符输出或显示在活动窗口中进行。窗口在缺省时,就是整个屏幕。窗 可以根据需要指定其大小。同样,对图形函数的操作,也提供了(Viewport)。也就是说图 形函数的操作都是在视口上进行。图形视口与字符窗口具有相同的特性,用户可以在屏幕上 定义大小不同的视,若不定义视口大小,它就是整个屏幕。

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

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

5、lreol()函数的实例中。2. window。字符窗口函数功能:函数window。用于在指定位置建立一个字符窗口。用法: 此函数调用方式为 void window(int left,int top,int right,int bottom);说明:函数中参数left,top为窗口左上角坐标;right,bottom为其右下角坐标。若有一个坐标是无效的,则window。函数不起作用。一旦该函数调用成功,那么所 有定位坐标都是相对于窗口的,而不是相对于整个屏幕。但是建立窗口所用的坐标总是相对 整个屏幕的绝对坐标,而不是相对当前窗口的相对坐标。这样用户就可以根据各种需要建立 多个互不嵌套的窗口。此

6、函数的头文件为conio.h。返回值:无例:调用这个函数的实现例见3.gotoxy。函数的例子中。3. gotoxy。光标定位函数功能:函数gotoxy。将字屏幕上的光标移到当前窗口指定的位置上。用法:这个函数调用方式为void gotoxy(int x,int y);说明:括号里x,y是,光标定位的坐标,如果其中一个坐标值无效(如坐标超界),那么光 标不会移动。此函数在字符状态(有时称为文本状态)下经常用到,其相应的头文件为conio.h 返回值:无例:下面程序建立两个窗口,然后在窗里显示字符,字符的位置是调用该函数确定的。#includeMconio.hvoid border(int st

7、artxjnt starty,int endx,int endy)register int i;gotoxy(l,l);fbr( i=O;i=endx-startx; i-H-)putchC-1);gotoxy( 1 ,endy-starty);fbr(i=O;i=endx-startx;i+)putch();fbr(i=2;ivoid main()register int i;gotoxy(6,8);printf(,This is a test of the clreol() function.*);getch();gotoxy(6,8);clreol();fbr(i=0;i20;i+)pr

8、intf(Hellon);getch();clrscr();5. insline()插入空行函数功能:函数insline()插入一空行到当前光标所在行上,同时光标以下的所有行都向下顺移一行。用法:此函数的调用方式为void insline(void);说明:该函数只用于文本方式,并且在当了符窗口才有效。这个函数的对应头文件是conio.h返回值:无例:程序给出了 insline()函数的用法。#include conio.hvoid main()registser int i;clrscr();fbr(i=l;i24;i+)gotoxy(l,i);printf(This is line %dn

9、,i);)getch();gotoxy(l,10);insline();getch();)6. delline()删除一行函数功能:函数delline()删除当前窗口内光标所在行,同时把该行下面所有行都上移一行。用法:此函数调用方式为void delline(void);说明:注意,如果当前窗口小于整个屏幕,那么该函数只影响到窗口内的字符。这个函数相应的头部文件是conio.h返回值:无例:先在屏幕上显示16行文字,然后删除第4行#include conio.hvoid main()register int i;clrscr();fbr(i=0;iint xpos,ypos;xpos=wher

10、ex();ypos=wherey();19. gettextinfb()获取文本窗口信息函数功能:函数gettextinfo。获取当前文本窗口信息,并存放在实参结构中。用法:函数调用方式为 void gettextinfb(struct text-infb *infb);说明:函数中参数info为struct text-info结构型指针,struct textinfo结构在此函数相应的 头文件中定义为:struct text-infb unsigned char winleft;unsigned char wintop;unsigned char winright;unsigned char

11、 winbottom;unsigned char attribute;unsigned char normattr;unsigned char currmode;unsigned char screenhight unsigned char screenwidth;unsigned char curx;unsigned char cury;/Z窗口左上角x坐标/Z窗口左上角y坐标/Z窗口右下角X坐标/Z窗口右下角y坐标/Z文本属性/正常属性/Z当前屏显模式/文本窗口高度(以行数计)/文本窗口宽度(以字符个数计)/Z光标处x坐标/Z光标处y坐标;记住,调用函数gettextinfb。时,要传递s

12、truct text-infb结构型指针或该结构的首地址, 不要传递结构变量本身。这个函数对应的头文件是conio.h返回值:返回文本窗口角点坐标、高宽度、文本属性等值,并存放在info所指向的结构变 量中。例:程序语句说明如何正确调用gettextinfb。函数:struct text-infb win-status;gettextinfb(&win-status);C语言图形编程(二、图形显示)、确定显示卡二、选择显示模式三、图形显示20. detectgraph()显示卡检测函数1.1 initgraph()图形初始化函数22. getdrivemameO获取图形驱动程序名的指针23.

13、getgraphmode()获取图形模式函数24. gelmoderange()获取模式值范围函数25. getmaxmode。获取最大显示模式函数26. getmodename。获取显示模式名函数27. graphdefaults。图形设置复位缺省值函数28. setgraphmodc。设置图形模式函数29. restorecrtmode。恢复文本显示模式函数30. graphresult()图形操作结果函数31. grpaherrormsgO图形错误信息函数32. setgraphbufsize。设置图形缓冲区大小函数33. setactivepage()设置可输出显示页函数34. set

14、visualpage()设置可见显示页数35. closegraph()关闭图形模式函数、确定显示卡微机系统显示部分山显示器(monitor)和显示卡(adapter)两部分组成。显示器是独立于主机 的种外部设备,显示卡或称显示适配卡,也有的称图形卡,是插在主机上的块电路板。 但也有的显示卡与主机板设计在起。显示卡包括寄存器组、存储器和控制电路三大部分。 其中存储器又包括显示RAM和ROM BIOS两部分,微机对显示屏幕的所有操作都是通过 显示卡来实现的。因此要进行图形显示,首先要确定计算机上安装的是何种显示卡。种 方法是询问计算机或终端使用者,确定将要使用的显示卡类型。这种方法很难,因为甚至

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

16、图形函数就不能操作。20. detectgraph()显示卡检测函数功能:函数detectgraph()在计算机上安装有显示卡的情况下,测定其显示卡的类型。用法:此函数调用方式为 void detectgraph(int *driver,int *mode);说明:函数把driver所指向的整型变量设置为图形驱动程序的代码,把mode所指向的整 型变量设置为显示卡支持的最高有效模式(即该显示卡能支持的最高分辨率)。该函数相应的头文件为graphics.h返回值:返回适合于该显示卡的图形驱动程序的代码(也称等价值),并存放在driver指向 的变量中。若计算机系统中无图形硬件,则由driver指

17、向的变量设置为2。例:检测计算机是否装有显示卡:int driver,mode;detectgraph(&driver,&mode);if(driver=-2)(printf(no graphics adapter in the computer);exit(l);21. initgraph()图形初始化函数功能:函数initgraph()用于初始化图形系统,把适合的图形驱动程序装入内存,设置图形函 数所用的显示模式。用法:该函数调用方式为 void initgraph(int *driver,int * mode,char *path);说明:1)函数中参数driver指向图形驱动程序(或者

18、等价值)。在头部文件graphics.h中定义了图形驱动程序的宏名与其等价,如下:宏名等价值DETECT0CGA1MCGA2EGA3EGA644EGAMONO5IBM85146HERCMONO7ATT4008VGA9PC327010注:在现在的计算机中,上表中的许多显示卡已经过时,不再使用。这样就不必担心图形驱动程序的准确名字,而只要用其等价值即可,若使用detect(即等价值 0)时,initgraph。函数自动检测当前计算机中装有的显示卡类型,并且选用最大分辨率的显 示模式。2)参数mode指向显示模式或用等价值(风表!-5),mode所指的值必须是有效模式之一。3)参数path指向图形驱

19、动程序所在的路径,例如path=C:TCBGl.若没有指定路径,就在 当前目录下寻找。一般图形驱动程序包含在.BGI文件中,这些文件是系统可以得到的。这个函数对应的头 文件是 graphics.ho 返回值:无例:调用initgraph。自动检测硬件图形系统,并选用最大分辨率显示模式。init drver,mode;driver=DETECT;mode=0;initgraph(&driver,&mode,H);22. getdrivemameO获取图形驱动程序名的指针功能:函数getdrivemameO返回指向当前图形驱动程序名的指针。用法:此函数调用方式为char *gctdrivemame

20、(void);说明:本函数可以用来检测显示卡,但只能在initgraph()设置图形驱动程序和显示模式之后 调用。该函数相应的头文件为graphics.h返回值:返回一指针,指向含有当前图形驱动程序名的字符串。例:显示当前图形驱动程序名:#include#includevoid main()!int graphdriver=DETECT,graphmodc;char *s;initgraph(&graphdriver,&graphmode,n,);s=getdrivemame();outtext(HUsing driver:*1);outtext(s);getch();closegraph()

21、;23. gctgraphmodcO获取图形模式函数功能:函数getgrapgmode。返回当前图形模式。用法:该函数调用方式为int gctgraphmodc(void);说明:getgraphmode。函数无参数调用。这个函数对应的头文件是gr叩hics.h返回值:返回initgr叩h()或setgr叩hmode()所设置的当前图形模式值。例:显示当前图形模式的代码:printfifgraphics mode is %d*,getgraphmode();24. getmoderange。获取模式值范围函数功能:函数gctmoderange。返回指定的图形驱动程序能够支持的最低和最高模式值。

22、用法: 函数调用方式为 void getmoderange(int driver,int *lowmode,int himode);说明:参数driver是用来调用此函数时,指定图形驱动程序等价值或宏名。其有效值如下:宏名等价值DETECT0CGA1MCGA2EGA3EGA644EGAMONO5IBM85146HERCMONO7ATT4008VGA9PC327010注:上表中的许多显示卡在现在的计算机上已经过时,仅作参考。该函数想应的头文件为graphics.h返回值:返回的最小和最大有效值存放在参数指针lowmode和himode分别指向的整型变 量中。例:显示当前图形硬件的显示模式的范围值

23、:#includeHgraphics.hvoid main()int driver,mode;int low,high;mode=0;initgraph(&driver,&mode,H);getmoderange(driver,&low,&high);printffmode range:%d%d,low,high);getch();rstorecrtmode();25. getmaxmode()获取最大显示模式函数功能:函数getmaxmode。返回当前加载的图形驱动程序所支持的最大有效显示模式。用法:函数调用方式为intgetmaxmode(void);说明:本函数无参数调用,返回图形驱动程

24、序所支持的最大显示模式,所有图形驱动程序支持从到getmaxmode。函数返冋值中的任, 整数值(对应的显示模式)。这个函数对应的头文件是graphics.h返回值:返回图形驱动程序所支持的显示模式最大值。例:显示当前最大显示模式:printfifThe maxmode of this driver is %dnH,getmaxmode();26. getmodename。获取显示模式名函数功能:函数getmodename()可获取当前图形驱动程序支持的指定显示模式的名字。用法:此函数调用方式为 char *getmodename(int modecode);说明:参数modecode为整型值

25、。用以指定一显示模式值调用该函数。这个函数对应的头文件graphics.h返回值:返回指定模式值的显示模式名。例:显示当前最大显示模式名:#include#includevoid main()int graphdriver=DETECT,graphmode;int modecodc;char *s;initgraph(&graphdriver,&graphmode,Mn);modecode=getmaxmode();s=getmodenamc(modecode);outtext(The maxmode name is:);outtext(s);getch();closegraph();27.

26、gr叩hdefaults。图形设置复位缺省值函数功能:函数grpahdefaults()把所有图形设置复位为它们的缺省值,这包括把图形视复位为 全屏幕;当前位置定位在0,0;调色板、背景色和绘图色都被复位;填充颜色、填充图样、 文本文字和排齐方式都返回到它位的缺省值。用法:此函数调用方式为void graphdefaults(void);说明:该函数无参数调用。这个函数相应的头文件为gr叩hics.h返回值:无例:将图形系统恢复为其缺省值:graphdefaults();28. setgraphmode()设置图形模式函数功能:函数setgraphmode。用当前图形驱动程序有效的图形模式调用

27、,一旦被调用, setgraphmode。选择个新的图形模式。注意,图形显示模式必须事先由initgraph()初始化。 用法:该函数调用方式为void setgraphmode(int mode);说明:参数mode调用时为指定的模式值。此函数相应的头部文件是gr叩hics.h返回值:无例:把VGA图形卡设置为VGAMED模式:setgraphmode(VGAMED);/Z图形系统已经初始化29. restorecrtmode()恢复文本显示模式函数功能:函数restrecrtmode。将显示模式恢复到调用initgraph()时检测出的初始文本模式。用法:这个函数调用方式为void res

28、torecrtmode(void);说明:函数restorecrtmode。和setgraphmode。函数一起使用,可以实现文本与图形显示之间 的切换。此函数对应的头文件为graphics.h返回值:无例:恢复显示模式为初始文本模式:restorecrtmode();30. graphresult()图形操作结果函数功能:函数graphresult。函数返回最后一次图形操作的代码。用法:此函数调用方式为int graphresult(void);说明:C为图形设置了代码,它们是从15到的整数值。其含义见表16。调用该函数时,出错状态被复位为0,所以返回值(代码)最好存于变量中,以供需要 时检

29、测,进行下一步图形操作。图形操作信息名称代码含义0成功grOK-1没有图形初始化grNoInitGraph-2没有检测到图形硬件grNoDetected-3没有找到图形驱动文件grFileNoFound-4无效图形驱动程序grlnvalidDriver-5没有足够内存装入图形驱动程序grNoLoadMem-6Scan填充内存不足grNoScanMem-7Floodt!充内存不足grNoFloadMem-8没有找到字体文件grFontNotFound-9没有足够内存用干架字体文件grNoFontMem-10无效图形模式grInvalidMode-11一般图形错误grError-12输入输出错误g

30、rIOerror-13无效字体文件-|无效字体号口grInvalidFont-14grInvalidDeviceNum-15无效设备号这个函数对应的头部文件是graphics.h返回值:返回最后一次图形操作结果相应的代码。例:调用gmphresult。函数的实例见下面gr叩herrormsg()函数的例子。31. grpaherrormsg()图形错误信息函数功能:函数graphcrrormsgO返回指向出错代码相应的错误信息字符串的指针。 用法:此函数调用方式为 char *grapherrormsg(int errcode);说明:参数errcode值,即出错代码由调用函数graphres

31、ult()获得。这里所有出错代码及相 应的错误信息如表1-6中所述。该函数相应的头文件是grpahics.h返回值:返回一个指向该出错代码相应的错误信息字符串的指针。例:用文字形式显示有关出错代码相应的错误信息:int errorcode;crrorcode=graphresult();printf(%sM,grapherrormsg(errcode);32. setgraphbufsize。设置图形缓冲区大小函数功能:函数setgraphbufsize。用来设置有的图形函数(如floodfill等)所要用到的内存缓冲区 大小。用法:函数调用方式为 unsigned setgraphbufsi

32、ze(unsigned bufsize);说明:这里无符号参数bufsize为所设置的缓冲区大小。一般不需要用到该函数,仅使用由initgraph。函数产生的内存缓冲区就够了,缓冲区 大小缺省时为4KB(即4096个字节),足以用来填充一个大约有650个顶点的多边形,但是 为了节省内存,用户可以减少缓冲区的大小,或者由于需要更多的缓冲区内存,这时可用函 数setgraphbufsize。来增加缓冲区大小。注意,使用setgraphbufsize。函数必须在调用initgraph。 之前。返回值:返回先前定义的图形缓冲区字节数。例:调用此函数设置图形缓冲区为8KB字节: setgraphbufs

33、ize(0x2000);33. setactivepage()设置可输出显示页函数功能:函数setactiveage。设置用作图形输出的显示页。用法:这个函数调用方式为void setactivepage(int pagenum);说明:参数pagenum为选择的显示页号,如果调用成功,那么后续图形输出就写到选定的 输出页上。缺省时是以页作为当前输出页。该函数只在图形驱动程序及其显示模式支持多 个显示页时起作用。此函数相应的头文件为graphics.h返回值:无例:设置1页为输出显示页:setactivepage( 1);34. setvisualpage()设置可见显示页数功能:函数setv

34、isualpage()设置屏幕上可见的显示页。用法:函数调用方式为 void setvisualpagc(int pagenum);说明:参数pagenum为设置的显示页号。缺省时是以页作为当前可见页。调用这个函数 和调用setactivepage。样,仅在图形驱动程序及其显示模式支持多个显示页时有效。用 户可以用系统所支持的任何显示页,在它们之间切换,当然一次只能有一个显示页在屏幕上 可见,有时需要在页上建立后备图形萇图像,它在当时不显示,一旦需要时,可以马上切 换到该页,如要实现动画效果,只需切换显示页号即可。用setvisualpage。函数选定实际显 示在屏幕上的可见页,用setact

35、ivepage。函数选择当前图形输出页,从而实现图形页之间的 显示切换,通常这两个函数都是缺省的,这时输出页就是可见页。若不绘制动画就不需要用 到这两个函数。这两个函数对应的头文件是gr叩hics.h返回值:无例:设置可见页为第1页:setvisualpage(l);35. closegraph。关闭图形模式函数功能:函数closegraph。将系统图形模式关闭,复位到initgraph。初始文本模式,并且释放 图形驱动程序、字体和内部缓冲区所占用的系统内存。用法:这个函数调用方式为void closegraph(void);说明:当用户的程序既用到图形输出又用到非图形输出时,应该调用此函数。

36、特别是程序 多次调用initgraph。函数的情况,耍相应地调用closegraph函数,释放调用initgraph。所占用 的内存,否则内存很快就满了,程序无法运行,如果程序结束,也可以用restorecrtmode。 函数代替该函数,这样任何分配的内存都将释放。此函数对应的头文件是gr叩hics.h返回值:无例:关闭图形系统:closegraph();C语言图形编程(三、绘图函数01)一、屏幕和视设置与清除函数36. setviewport()设置图形视函数37. clearviewport()清除图形视函数38. cleardevice()清除屏幕函数39. getviewsetting

37、s()获取图形视口设置函数二、调色板和颜色函数40. setpalette()设置调色板函数41. setallpalette()设置整个调色板函42. setbackcolor()设置背景颜色函数43. setcolor()设置颜色函数44. gctbkcolor()返回背景色函数45. getcolor()返回当前绘图颜色46. getmaxcolor。返回最大颜色值函数47. getpalette()获取调色板函数48. gctpalettesize()返回调色板大小函数49. getdefaultpalette()获取缺省调色板函数三、屏幕位置函数50. getmaxx()返回最大x坐

38、标函数51. gctmaxyO返回最大y坐标函数52. getx()返回x坐标函数53. gety()返回y坐标函数54. mo veto。函数55. moverel()相对移动函数Borland C+提供了一整套综合性的图形函数,上节介绍了其中有关图形显示的函数,本 节介绍其中的绘图函数,下节将介绍它的图形文本函数。一般绘图时,首先要清除屏幕,设置图形视,设置绘图颜色,然后在屛幕上某个位置 画点或直线或曲线等。下面给出具有这些功能的函数。、屏幕和视设置与清除函数36. setviewport()设置图形视函数功能:函数setviewport()设置当前图形视口。用法: 函数调用方式为 voi

39、d setviewport(int left,int top,int right,int bottom,int clip);说明:参数left,top是左上角坐标,right,bottom是右下角坐标,它们都是绝对屏幕坐标。传给setviewport。的第五个参数是clip,如果clip为1,则超出视的输出图形自动 被裁剪掉,即所有作图限制于当前图形视之内,如果clip为0,则不做裁剪,即作图将无 限制地扩展于视口周界之外,直到屏幕边界。若无效参数传入setviewport(),则graphresult。 函数返回值-11,先前视设置仍有效。setviewport()函数的对应头文件为grap

40、hics.h返回值:无例:建立对角为(6,6)和(88,88)的视,并带有裁剪功能:setviewport(6,6,88,88,1);37. clearviewport()清除图形视函数功能:函数clearviewportO清除当前图形视,并把光标从当前位置移到原点(0,0)。用法:该函数调用方式为void clearviewport(void);说明:此函数调用执行后,当前图形视口将不复存在。这个函数对应的头文件是graphics.h返回值:无例:清除当前图形视,但并非整个屏幕:clearviewport();38. clcardevice()清除屏幕函数功能:函数cleardevice。清

41、除整个屏幕,并且将当前位置移到屏幕原点。用法:此函数调用方式为void cleardevice(void);说明:该函数类似于文本模式下的函数clrscr(),但clrscr()函数不能在图形方式下工作;同 样cleardevice()函数不能在文本模式工作。这个函数相应的头文件为graphics.h返回值:无例:清除当前整个屏幕:cleardeviceQ;39. getviewsettings()获取图形视口设置函数功能:函数getviewsettings()返回当前图形视坐标和裁剪标志,坐标是绝对屏幕坐标,裁 剪标志1或0。用法:此函数调用方式为 void getviewsettings(

42、struct viewporttype *infb);说明:该函数执行后,把有关当前视的信息装入info指向的viewporttype型结构中。viewporttype结构定义如下:struct viewporttype int left,top,right,bottom;int clipflag;这里left,top中存放视左上角坐标,right,bottom中存放视右下角坐标,clipflag中存放 裁剪标志,若clipflag为1 ,执行裁剪以防止超出视U边界,如果clipflag为0,则不对超 出边界输出作裁剪。getviewsettings() 数对应的头文件是 graphics.h

43、返回值:无例:显示当前视口角点坐标: struct viewporttype info; getviewsettings(&info);printf(Mleft:%d top:%dnM,info.left,info.top);printffright:%d bottom:%dn,info.right,info.bottom);二、调色板和颜色函数进行图形显示或绘图,除了要知道用什么显示卡以及相应的图形驱动程序外,还必须了 解它们支持什么样的调色板颜色。40. setpalette()设置调色板函数功能:函数setpalette()可对调色板上的颜色的色彩值重新设定。用法:setpalette(

44、)函数调用方式为 void setpalette(int value,int color);说明:参数value为色彩值,color为色彩值相应的颜色名。当需要将一颜色指定为一色彩 值地,即可调用此函数来设置。表17预先定义的调色板与色彩调色板色彩。色彩1色彩2色彩3co黑色淡绿红浅黄色Cl黑色淡青粉红白色C2黑色绿色红色棕色C3黑色青色品粉红淡灰色这个函数相对应的头文件为graphics.h 返回值:无41. setallpalette()设置整个调色板函数功能:函数setallpalette()对某个调色板上的所有颜色重新设定彩色值。用法: 函数调用方式为 void setallpalet

45、te(struct palettetype *p);说明:在低分辨率图形显示模式下,该函数无效。若函数调用成功,则把p指向的palettetype 结构中的色彩值设置为当前调色板所有颜色的新色彩值。palettetype结构定义如下:struct palettetype unsigned char size;signed char color16;;这里必须把size设置为调色板颜色的数目,并把每个色彩值都装入color数组相应元素中, 然后可用于调用函数。此函数对应的头文件是graphics.h返回值:无例:把16色的EGA/VGA显示卡调色板改为其前16种颜色:struct palette

46、type;int i;fbr(i=O;i16;i+) p.colori=i;p.size=16;setallpalette(&p);42. setbackcolor()设置背景颜色函数功能:函数setbackeolor()把当前调色板颜色的第一个值改成指定的颜色值,以设置背景颜 色。用法:此函数调用方式为void setbackcolor(int color);说明:参数color为指定的背景色,其有效值可以是颜色符号名,也可以是色彩值。表1-8 列出了背景颜色供选取。表1-8背景颜色值颜色符号名色彩值颜色符号名色彩值BLACK(黑色)0DARKGRAY(深灰)8BLUE(蓝色)1LIGHTBLUE(淡蓝)9GREEN(绿色)2LIGHTGREEN(淡绿)10CYAN(青色)3LIGHTCYA

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!