C语言图形编程函数.docx.pdf

上传人:tbuqq 文档编号:5615868 上传时间:2020-07-02 格式:PDF 页数:51 大小:355.72KB
返回 下载 相关 举报
C语言图形编程函数.docx.pdf_第1页
第1页 / 共51页
C语言图形编程函数.docx.pdf_第2页
第2页 / 共51页
C语言图形编程函数.docx.pdf_第3页
第3页 / 共51页
C语言图形编程函数.docx.pdf_第4页
第4页 / 共51页
C语言图形编程函数.docx.pdf_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《C语言图形编程函数.docx.pdf》由会员分享,可在线阅读,更多相关《C语言图形编程函数.docx.pdf(51页珍藏版)》请在三一文库上搜索。

1、C语言图形编程 A字符屏幕 一、 屏幕操作函数 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()正常亮度函数 14. textcolor()文木

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

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

4、将 光标移到窗口的x,y位置上,这未必是相对于整个屏幕。下而介绍常用的几类字符屏幕函数的功能用途、 操作方法及其例行程序。 一、屏幕操作函数 编写程序绘图经常耍用到对字符屏幕进行操作。例如,在往屏幕上写字符之前,首先耍将屏幕清除干 净。又如,有吋需要在屏幕上多处写上肉屮刺样的字符内容,这吋最好用屏幕拷贝来高效率地完成这一任 务。对这些操作,Turbo C提供了一系列字符屏幕操作函数来实现。 1. clrscr()清除字符窗口函数 功能:函数clrscrO清除整个当前字符窗口,并11把光标定位于左上角(1, 1)处。 用法:void clrscr(void); 说明:扌舌号中void表示无参数。

5、 该函数相应的头文件为conio.h 返冋值:无 【例】使用这个函数的例子见4. clreol()函数的实例中。 2. window()字符窗口函数 功能:函数window()用丁在指定位置建立一个字符窗口。用去:void window(int left, int top, int right, int bottom); 说明:函数中参数left, top为窗口左上角坐标;right, bottom为其右下角坐标。 若有一个坐标是无效的,则window()函数不起作用。一旦该函数调用成功,那么所有定位坐 标都是相对于窗口的,而不是相对于整个屏幕。但是建立窗口所用的坐标总是相对整个屏幕 的绝对坐

6、标,而不是相对当前窗口的相对坐标。这样用户就可以根据各种需要建立多个互不 嵌套的窗口。 头文件:conio.h o 返回值:无 【例】调用这个函数的实现例见3. gotoxy()函数的例子中。 3. gotoxyO光标定位函数 功能:函数gotoxyO将字屏幕上的光标移到当前窗口指定的位置上。用法:void gotoxy(int x, int y); 说明:括号里x,y是光标定位的坐标,如果其中一个坐标值无效( 如坐标超界 ),那么光标不会移动。 此函数在字符状态(有吋称为文本状态)下经常用到。 头文件:conio.h 返冋值:无 【例】下面程序建立两个窗口,然后在窗口里显示字符,字符的位置是

7、调用该函数确定的。 #include void border(int startx, int starty, int endx, int endy) register int i; gotoxy(l, 1); for(i=0;i void main() register int i; gotoxy(6, 8); printf(“This is a test of the clreol() function.“); getch(); gotoxy(6, 8); clreol(); for(i=0;i # include void main() int graphdriver=DETECT, gr

8、aphmode; char *s; initgraph ( outtext(“Using driver:“); outtext(s); getch(); closegraph(); 23?getgraphmode()获取图形模式函数 功能:函数getgrapgmode()返回当前图形模式。 用法:该int getgraphmode(void); 说明:getgraphmode()函数无参数调用。 这个函数对应的头文件是graphics.h 返冋值:返冋initgraph()或setgraphmode()所设置的当前图形模式值。【例】显示当前图形模式的代 码: printf(“graphics

9、mode is %d“, getgraphmode(); 24.getmoderange()获取模式值范围函数 功能:函数getmoderange()返冋指定的图形駆动程序能够支持的最低和最高模式值。用了去:void getmoderange(int driver, int *lowmode, int himode); 说明:参数driver是用来调用此函数时,指定图形驱动程序等价值或宏名。其冇效值如下: 宏名等价 值 DETECT 0 CGA 1 MCGA 2 EGA 3 EGA64 4 EGAMONO 5 IBM8514 6 HERCMONO 7 ATT400 8 VGA 9 PC3270

10、 1() 注:上表中的许多显示卡在现在的计算机上已经过时,仅作参考。 该函数想应的头文件为graphics.h 返回值 : 返回的最小和最人冇效值存放在参数指针lowmode和himode分别指向的整型变量中。 【例】显示当前图形硬件的显示模式的范围值: #include“graphics.h“ void main() int driver, mode; int low, high; mode=0; initgraph( printf(“mode range:%d%d, low, high); getch(); rstorecrtmode(); 25.getmaxmode()获取最大显示模式函

11、数 功能:函数getmaxmodeO返回当前加载的图形驱动程序所支持的最大有效显示模式。用法:int getmaxmode(void); 说明:本函数无参数调用,返回图形驱动程序所支持的最大显示模式,所有图形驱动程序支持从0到 getmaxmode()函数返回值中的任一整数值 (对应的显示模式 ) 。 这个函数对应的头文件是graphics.h 返回值:返回图形驱动程序所支持的显示模式最大值。 【例】显示当前最大显示模式: printf( uThe maxmode of this driver is %dnM , getmaxmode(); 26.getmodename()获取显示模式名函数

12、功能:函数getmodename()可获取当前图形驱动程序支持的指定显示模式的名字。 用法:char *getmodename(int modecode); 说明:参数modecode为整型值。用以指定一显示模式值调用该函数。 这个函数对应的头文件graphics.h 返回值:返回指定模式值的显示模式名。 【例】显示当而最大显示模式名: # include # include void main() int graphdriver=DETECT, graphmode; int modecode; char *s; initgraph( modecode=getmaxmode(); s=getm

13、odename(modecode); outtext( H The maxmode name is:”); outtext(s); getch(); closegraph(); 27.graphdefaults()图形设置复位缺省值函数 功能:函数grpahdefaults()把所有图形设置复位为它们的缺省值,这包括把图形视口复位为全屏幕; 当前位置定位在0, 0;调色板、背景色和绘图色都被复位;填充颜色、填充图样、文木文字和 排齐方式都返回到它位的缺省值。 用法:void graphdefaults(void); 说明:该函数无参数调用。 这个函数相应的头文件为graphics.h 返回值:

14、无 【例】将图形系统恢复为其缺省值: graphdefaults(); 28? setgraphmode()设置图形模式函数功能:函数setgraphmode()用当前图形驱动程序有效的图形模式 调用,一旦被调用,setgraphmode()选择一个新的图形模式。注意,图形显示模式必须事先由initgraph()初 始 化。 用法:该void setgraphmode(int mode); 说明:参数mode调用时为指定的模式值。 此函数相应的头部文件是graphics.h 返冋值:无 【例】把VGA图形卡设置为VGAMED模式:setgraphmode(VGAMED); / 图形系统已经初始

15、化 29.restorecrtmode()恢复文木显示模式函数 功能:函数restrecrtmodeO显示模式恢复到调用initgraph()时检测出的初始文木模式。 用1去:这个void restorecrtmode(void); 说明:函数restorecrtmodeO# setgraphmode()函数一起使用,可以实现文本与图形显示之间的切换。 此函数对应的头文件为graphics.h 返回值:无 【例】恢复显示模式为初始文木模式: restorecrtmode(); 30.graphresult()图形操作结果函数 功能:函数graphresult()函数返回最后一次图形操作的代码。

16、 用法:int graphresult(void); 说明:C为图形设置了代码,它们是从?15到0的整数值。其含义见表1?6。 调用该函数时,出错状态被复位为0,所以返冋值 ( 代码 )最好存于变量屮,以供需要吋检测,进 行下一步图形操作。 图形操作信息名称代码含义 grOK 0 成功 grNoInitGraph -1 没冇图形初始化 grNoDetected -2 没有检测到图形硬件 grFileNoFound -3 没有找到图形驱动文件 grlnvalidDriver -4 无效图形驱动程序 grNoLoadMem -5 没有足够内存装入图形驱动程序 grNoScanMem -6 Scan

17、填充内存不足 grNoFloadMem -7 Flood填充内存不足 grFontNotFound -8 没有找到字体文件 grNoFontMem -9 没有足够内存用于装字体文件 grlnvalidMode -10 无效图形模式 grError -11 一般图形错误 grlOerror -12 输入输出错误 grlnvalidFont -13 无效字体文件 grlnvalidFontNum -14 无效字体号 grlnvalidDeviceNum -15 无效设备号 这个函数对应的头部文件是graphics.h 返回值:返回最后一次图形操作结果相应的代码。 【例】调用graphresult(

18、)函数的实例见卜血grapherrormsg()li数的例了。 31.grpaherrormsgO图形错误信息函数 功能:函数grapherrormsgOifi,回指向出错代码相应的错误信息字符串的指针。 丿I打去:char *grapherrormsg(int errcode); 说明:参数errcode值,即出错代码由调用函数graphresult()获得。这里所有出错代码及相应的错误 信息如表1?6屮所述。 该函数相应的头文件是grpahics.h 返回值:返回一个指向该出错代码相应的错误信息字符吊的指针。 【例】用文字形式显示有关出错代码相应的错误信息: int errorcode;

19、errorcode=graphresult(); printf(%s H , grapherrormsg(errcode); 32.setgraphbufsize()设置图形缓冲区大小函数 功能:函数setgraphbufsize()用来设置有的图形函数(如floodfill等) 所要用到的内存缓冲区大小。用 了去:unsigned setgraphbufsize(unsigned bufsize); 说明:这里无符号参数bufsize为所设置的缓冲区大小。 一般不需要用到该函数,仅使用由initgraph()函数产生的内存缓冲区就够了,缓冲区大小缺省 时为4KB( 即4096个字节 ) ,足

20、以用来填充一个大约冇650个顶点的多边形,但是为了节省内存 , 用户可以 减少缓冲区的大小,或者由于需要更多的缓冲区内存,这时可用函数setgraphbufsize() 來增加缓冲区大小。 注意,使用setgraphbufsize()函数必须在调用initgraph()之前。 返回值:返回先前定义的图形缓冲区字节数。 【例】调用此函数设置图形缓冲区为8KB字节: setgraphbufsize(0x2000); 33.setactivepage()设置可输出显示页函数 功能:函数setactiveage()设置用作图形输出的显示页。 用法:这个void setactivepage(int pa

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

22、数和调用 setactivepage()一样,仅在图形驱动程序及其显示模式支持多个显示页时才有效。用户可以用系统所支持的 任何显示页, 在它们之间切换, 当然一次只能有一个显示页在屏幕上可见,有时需要在一页上建立后备图形 萇图像,它在当时不显示,一旦需要时,可以马上切换到该页,如耍实现动画效果,只需切换显示页号即 可。用setvisualpage()函数选定实际显示在屏幕上的可见页,用setactivepage()函数选择当前图形输出页, 从而实现图形页之间的显示切换,通常这两个函数都是缺省的, 这吋输出页就是可见页。若不绘制动画就不 需要用到这两个函数。 这两个函数对应的头文件是graphi

23、cs.h 返冋值:无 【例】设置可见页为第1页: setvisualpage(l); 35.closegraph()关闭图形模式函数 功能:函数closegraph()将系统图形模式关闭,复位到initgraph()初始文木模式,并且释放图形驱 动程序、字体和内部缓冲区所占用的系统内存。 用法: 这个void closegraph(void); 说明:当用户的程序既用到图形输出又用到非图形输出吋,应该调用此函数。特别是程序多次调用 initgraph()函数的情况,要和应地调用closegraph函数,释放调用initgraph()所占用的内存,否则内存很快 就满了,程序无法运行,如果程序结束

24、,也可以用restorecrtmodeO函数代替该函数,这样任何分配的内存 都将释放。 此函数对应的头文件是graphics.h 返回值:无 【例】关闭图形系统: closegraph(); C绘图函数 ( 一) 一、 屏幕和视口设置与清除函数 36.setviewport()设置图形视口函数 37.clearviewport()清除图形视口函数 38.cleardevice()清除屏幕函数 39.getviewsettings()获取图形视口设置函数 二、 调色板和颜色函数 40.setpalette()设置调色板函数 41.setallpalette()设置整个调色板函 42.setbac

25、kcolor()设置背景颜色函数 43.setcolor()设置颜色函数 44.getbkcolor()返回背景色函数 45.getcolor()返冋当前绘图颜色 46.getmaxcolor()j回最人颜色值函数 47.getpalette()获取调色板函数 48.getpalettesize()返回调色板大小函数 49.getdefaultpalette()获取缺省调色板函数 三、屏幕位置函数 50.getmaxx()返冋最人x坐标函数 51.getmaxy()返回最大y坐标函数 52.getx()返冋x坐标函数 53.gety()返回y坐标函数 54.moveto()函数 55.move

26、rel()相对移动函数 Turbo C提供了一 ?整套综合性的图形函数,上节介绍了其中有关图形显示的函数,木节介绍其屮的 绘图函数,下节将介绍它的图形文木函数。 一般绘图时,首先要清除屛幕,设置图形视口,设置绘图颜色,然后在屏幕上某个位置画点或直线或 曲线等。下面给岀具有这些功能的函数。 一、屏幕和视口设置与清除函数 36.setviewport()设置图形视口函数 功能:函数setviewport()设置当前图形视口。 用法:void setviewport(int left, int top, int right, int bottom, int clip); 说明:参数left, top

27、是左上角坐right, bottom是右下角坐标,它们都是绝对屏幕坐标。 传给setviewport()的第五个参数是clip,如果clip为1,则超出视口的输出图形门动被裁剪掉, 即所有作图限制于当前图形视口之内,如果clip为0,则不做裁剪,即作图将无限制地扩展于视口周界之 外,直到屏幕边界。若无效参数传入setviewport(),则graphresult()函数返回值 ?11, 先前视口设置仍有效。 setviewport()函数的对应头文件为graphics.h 返回值:无 【例】建立对角为(6, 6)和(88, 88)的视口,并带有裁剪功能: setviewport(6, 6, 8

28、 37. clearviewport()清除图形视口函数 功能:函数clearviewport()清除当而图形视口,并把光标从当前位置移到原点(0,() 。 用法:该 void clearviewport(void); 说明:此函数调用执行后,当前图形视口将不复存在。 这个函数对应的头文件是graphics.h 返冋值:无 【例】清除当前图形视口,但并非整个屏幕: clearviewport(); 38.cleardeviceQ清除屏幕函数 功能:函数cleardevice()清除整个屏幕,并且将当前位置移到屏幕原点。 用 了去:void cleardevice(void); 说明:该函数类似

29、于文本模式下的函数clrscr(),但clrscrO函数不能在图形方式下工作;同样 cleardevice()函数不能在文木模式卜?工作。 这个函数相应的头文件为graphics.h 返回值:无 【例】清除当前整个屏幕: cleardevice(); 39.getviewsettings()获取图形视口设置函数 功能:函数getviewsettings()i冋当前图形视口坐标和裁剪标志,坐标是绝对屏幕坐标,裁剪标志1 或Oo 用了去:void getviewsettings(struct viewporttype *info); 说明:该函数执行后,把冇关当前视口的信息装入info指向的vie

30、wporttype型结构屮。 viewporttype结构定义如卜: struct viewporttype int left, top, right, bottom; int clipflag; 这里left, top中存放视口左上角坐标,right, bottom中存放视口右下角坐标,clipflag中存 放裁剪 标志,若clipflag为1 , 执行裁剪以防止超出视口边界,如果clipflag为0,则不对超出边界输出作裁剪。 getviewsettings()函数对应的头文件是graphics.h 返回值:无 【例】显示当前视口角点坐标: struct viewporttype info

31、; getviewsettings( printf( nleft:%d top:%dn“, info, left, info, top); printf( Hright:%d bottom:%dn“, info, right, info, bottom); 二、调色板和颜色函数 进行图形显示或绘图,除了要知道用什么显示卡以及相应的图形驱动程序外,还必须了解它们支持什 么样的调色板颜色。 40.setpalette()设置调色板函数 功能:函数setpalette()可对调色板上的颜色的色彩值重新设定。 用 了去:setpalette()void setpalette(int value, in

32、t color); 说明:参数value为色彩值,color为色彩值相应的颜色名。当需要将一颜色指定为一色彩值地, 即可 调用此函数来设置。 表1?7预先定义的调色板与色彩 这个函数相对应的头文件为graphics.h 返回值:无 41.setallpalette()设置整个调色板函数 功能:函数setallpalette()对某个调色板上的所有颜色重新设定彩色值。 用V去:void setallpalette(struct palettetype *p); 说明:在低分辨率图形显示模式下,该函数无效。若函数调用成功,则把p指向的palettetype 结构中 的色彩值设置为当前调色板所有颜色

33、的新色彩值。 palettetype结构定义如下: struct palettetype unsigned char size; signed char color; ; 这里必须把size设置为调色板颜色的数0 ,并把每个色彩值都装入color数组相应元素屮,然 后才可用于调用函数。 此函数对应的头文件是graphics.h 返冋值:无 【例】把16色的EGA/VGA显示卡调色板改为其前16种颜色: struct palettetype; int i; for(i=0;i void main() int driver, mode; int i; dri ver=DETECT; mode=0;

34、 initgraph( for(i=0;i void main() int driver, mode; driver=DETECT; mode=0; initgraph(largest color: %d n, getmaxcolor(); getch(); restorecrtmodeO; 47.getpalette()获取调色板函数 功能:函数getpalette()将当前调色板的值填入palettetype型结构中。 用去:getpalette()void getpalette(struct palettetype *p); 说明:此函数调用执行后,当前调色板的值被装入p指向的结构里;从

35、而可从该结构中获得这个调色 板的设置信息。 palettetype型结构定义如下: #define MAXCOLORS 15 struct palettetype unsigned char size; signed char colorsMAXCOLORS+1 ; ; 其屮size用于存放当前调色板的有效颜色个数;colors数组的每一元素屮装入调色板的一个相 应颜色值。 表1-9列出了这些颜色值(适用于EGA/VGA) 颜色符号名色彩值 EGA_BLACK (EGA 黑色)0 EGA_BLUE (EGA 蓝色) 1 EGA_GREEN(绿色 ) 2 EGA_CYAN (EGA 青色)3 E

36、GA_RED (红色)4 EGA_MAGENTA (EGA 品红)5 EGA_BROWN (EGA 棕色) 20 EGA_LIGHTGRAY (EGA 淡灰)7 EGA_DARKGRAY (EGA 深灰)56 EGA_LIGHTBLUE (EGA 淡蓝)57 EGA_LIGHTGREEN (EGA 淡绿)58 EGA_LIGHTCYAN (EGA 淡青)59 EGA_LIGHTRED (EGA 淡红) 60 EGA_LIGHTMAGENTA(EGA 粉红) 61 EGA_YELLOW (EGA 黄色) 62 EGA_WHITE (EGA 白色)63 getpalette()函数对应的头文件是g

37、raphics.h 返冋值:无 【例】显示由自动检测所得显示模式支持的调色板上的颜色数目: # include void main() int driver, mode; struct palettetype p; driver=DETECT; / 口 动检测mode=0; initgraph( getpalette (7p); printf( nnumber of colors palette: %d ”,p. size); getch(); restorecrtmode(); 48.getpalettesize()返回调色板人小函数 功能:函数getalettesize()返回调色板的颜色

38、数0。 用法: 该int getpalettesize(void); 说明:调用这个函数后,就知道调色板上有多少颜色数口可在当前显示模式下设置。 此函数对应的头文件是graphics.h 返冋值:返冋当前显示模式支持的调色板的颜色数冃。 【例】显示当而显示模式支持的调色板的颜色数目。 int number; number=getpalettesize(); printf( npalette size: %dn, number); 49.getdefaultpalette()获取缺省调色板函数 功能:11 getdefaultpalette()返回指向缺省调色板的指针。 用法:该struct p

39、alettetype *getdefaultpalette(void); 说明:调色板结构类型palettetype定义如下: #define MAXCOLORS 15 struct palettetype unsigned char size; signed char colors!MAXCOLORS+1 ; ; 在调用initgraph()初始化图形系统时,给调色板结构类型变量赋值,作为缺省调色板, 调用这 个函数可返回指向它的指针。 此函数相应的头部文件为graphics.h 返冋值:返冋指向缺省调色板( 结构 )的指针。 【例】显示图形系统初始化后所支持的调色板上的各种颜色。 # in

40、clude # include # include #include void main() int graphdriver=DETECT, graphmode; struct palettetype *palette; int errorcode, color; initgraph( errorcode=graphresult(); if (errorcode !=grOK) printf( nGraphics error %sn 役grapherrormsg(errorcode); exit(l); palette=getdefaultpalette(); printf( npalette

41、-size %dnr palette-size); getch(); for(color=0;colorsize;color+) setfillstyle(LINE_FILL, color); bar(20*(color-1), 0, 20*color, 20); getch(); if(palette-sizel) do setpalette(random(palette-size), random(palette-size); while(!kbhit(); getch(); setallpalette(palette); closegraph(); 三、屏幕位置函数 在图形模式下,字符屏

42、幕坐标被像素坐标取代了,这种像素坐标根据不同的显示硬件,水平与垂直方 向的分辨率可以从320X200变化到1280X1024等。由于分辨率的变化,以致耍加载合适的图菜驱动程 序,I大I此人多数图形程序是通过检测硕件开始的,然后使用getmaxxO和getmaxy()等函 数來决定屏幕 尺寸,调整随后的操作來适应这些屏幕限制。 50.getmaxx()返回最大x坐标函数 功能:函数getmaxx()返回当前图形模式下的最大x坐标,即最大横向坐标。 用 法:int maxx(void); 说明:此函数独立于图形视口设置,仅取决于显示卡的显示模式相应的分辨率。 这个函数对应的头文件是graphics

43、.h 返冋值:返冋当前显示模式最大x坐标值。 【例】使用本函数的例子见51. getmaxyO函数的例子中。 51.getmaxyO返回最人y坐标函数 功能:函数getmaxyO返回当前图形模式下的最大y坐标,即最大纵向坐标。 用法:int getmaxy(void); 说明:此函数独立于图形视口设置,仅取决于显示卡的显示模式相应的分辨率。 这个函数对应的头文件为graphics.h 返冋值:返冋当前显示模式的最大y坐标值。 【例】 # include void main() int driver, mode; driver=DETECT; mode=(); initgraph( getch(

44、); restorecrtmode(); 52.getx()返H|X坐标函数 功能:函数getx()返回当而图形模式卜 ?当而位置的x坐标 ( 水平像素坐标 )。 用法:int getx(void); 说明:这里坐标是相对于当前图形视II的,如杲没有设置图形视口,那么缺省的图形视II为整 个屏 幕。这类似于文本模式下使用wherex()函数。 getx()函数相应的头文件是graphics.h 返冋值:返回当前x坐标值。 【例】见53?gety()函数中的例了。 53.gety()返回y坐标函数 功能:函数驴ty()返回图菜模式下当前位置的y坐标( 垂直像索坐标 )。 用法:int gety(

45、void); 说明:函数返冋的坐标是相对于当前图形视口的,如果没有设置图形视口,那么缺省的图形视口为整 个屏幕,这类似于文木模式下使用wherey()函数。 gety()函数对应的头文件是graphics.h 返回值:返回当前y坐标值。 【例】显示图形模式下当前位置的x,y坐标值: printf( Hx: %d, y: %d ”, getx(), gety(); 54.moveto()函数 功能:函数moveto()将当前位置移动到指定坐标的位置 说明:这相当于文本模式下gotoxyO函数的操作,它提供对等的功能。 此函数对应的头文件为graphics.h 返回值:无 【例】把当前位置移到(6

46、6,88)位置上: moveto(66, 88); 55.moverel()相对移动函数 功能:函数moverelOm据指定的偏移量,将当前位置移动一个相对距离( 即偏移量大小的距离), 成为 新的当前位置。 用法:void moverel(int dx, int dy); 说明:参数dx为x方向相对移动距离dy为y方向相对移动距离。相对移动对图形应用程序, 往往要 比绝对移动方便一些。 这个函数对应的头文件是graphics.h 返回值:无 【例】下面的程序,当语句执行到当前位置在(90, 90),则执行后将移动到(100, 120)的位置上。即x 方向和对移动10, y方向相对移动30:

47、moverel(10, 30); D绘图函数 ( 二) 四、图形和图像函数 (-)像索函数 56.putpiel()冊i像素点函数 57.getpixel()返冋像素色函数 (-)直线和线型函数 58.line()画线函数 59.lineto()画线函数 60.linerel()相对画线函数 61.setlinestyle()设置线型函数 62.getlinesettings()获取线型设置函数 63.setwritemode()设置画线模式函数 ( 三) 多边形函数 64.i-ectangle() iffli矩形函数 65.bar() lUlj条函数 66.bar3d()画条块函数 67.d

48、rawpolyO画多边形函数 ( 四) 圆、弧和曲线函数 68.getaspectratio()获取纵横比函数69?circle()训圆函数 70.arc()画圆弧函数 71.ellipse。画椭圆弧函数 72.fillellipse()画椭圆区函数 73.pieslice()画扇区函数 74.sector()也椭圆扇区函数 75.getarccoords()获取岡弧坐标函数 ( 五) 填充函数 76.setfillstyleO设置填充图样和颜色函数 77.setfillpattem()设置用户图样函数 78.floodfillO填充闭域函数 79.fillpolyO填充多边形函数 8().

49、getfillsettingsO获取填充设置函数 81.getfillpattern()获取用户图样设置函数 ( 六) 图像函数 82.imagesize()图像存储人小函数 83.getimage()保存图像函数 84.putimage()输出图像函数 四、图形和图像函数 对许多图形应用程序,直线和曲线是非常有用的。但对有些图形只能靠操作单个像素才能画出。当然 如果没冇画像索的功能,就无法操作直线和曲线的函数。而且通过人规模使用像索功能,整个图形就可以 保存、写、擦除和与屏幕上的原有图形进行叠加。 ( 一) 像素函数 56.putpixel() iUlj像素点函数 功能:函数putpixel()在图形模式下屏幕上画一个像素点。 用法:void putpixel(int x, int y, int color); 说明:参数x, y为像素点的坐标,color是该像素点的颜色,它可以是颜色符号名,也可以是整型色 彩值。 此函数相应的头文件是graphics.h 返回值:无 【例】在屏幕上(6, 8)处画一个红色像素点: putpixel(6, 8, RED); 57.getpixel()返回像素色函数 功能:函数get

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1