![C语言图形函数(二)[1].doc_第1页](http://file.renrendoc.com/FileRoot1/2020-1/10/ed4d91af-ca65-44b2-960a-008eef4b7810/ed4d91af-ca65-44b2-960a-008eef4b78101.gif)
![C语言图形函数(二)[1].doc_第2页](http://file.renrendoc.com/FileRoot1/2020-1/10/ed4d91af-ca65-44b2-960a-008eef4b7810/ed4d91af-ca65-44b2-960a-008eef4b78102.gif)
![C语言图形函数(二)[1].doc_第3页](http://file.renrendoc.com/FileRoot1/2020-1/10/ed4d91af-ca65-44b2-960a-008eef4b7810/ed4d91af-ca65-44b2-960a-008eef4b78103.gif)
![C语言图形函数(二)[1].doc_第4页](http://file.renrendoc.com/FileRoot1/2020-1/10/ed4d91af-ca65-44b2-960a-008eef4b7810/ed4d91af-ca65-44b2-960a-008eef4b78104.gif)
![C语言图形函数(二)[1].doc_第5页](http://file.renrendoc.com/FileRoot1/2020-1/10/ed4d91af-ca65-44b2-960a-008eef4b7810/ed4d91af-ca65-44b2-960a-008eef4b78105.gif)
已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言图形函数(二)2007-04-21 10:5641. setallpalette()设置整个调色板函数功能: 函数setallpalette()对某个调色板上的所有颜色重新设定彩色值.用法: 函数调用方式为void setallpalette(struct palettetype *p);说明: 在低分辨率图形显示模式下,该函数无效.若函数调用成功,则把p指向的palettetype结构中的色彩值设置为当前调色板所有颜色的新色彩值.palettetype结构定义如下:struct palettetype unsigned char size;signed char color16;这里必须把size设置为调色板颜色的数目,并把每个色彩值都装入color数组相应元素中,然后才可用于调用函数.此函数对应的头文件是graphics.h返回值: 无例:把16色的EGA/VGA显示卡调色板改为其前16种颜色:struct palettetype;int i;for(i=0;i16;i+) p.colori=i;p.size=16;setallpalette(&p);42. setbackcolor() 设置背景颜色函数功能: 函数setbackcolor()把当前调色板颜色的第一个值改成指定的颜色值,以设置背景颜色.用法: 此函数调用方式为void setbackcolor(int color);说明: 参数color为指定的背景色,其有效值可以是颜色符号名,也可以是色彩值.表1-8列出了背景颜色供选取.表1-8 背景颜色值-颜色符号名 色彩值 颜色符号名 色彩值-BLACK(黑色) 0 DARKGRAY(深灰) 8BLUE(蓝色) 1 LIGHTBLUE(淡蓝) 9GREEN(绿色) 2 LIGHTGREEN(淡绿) 10CYAN(青色) 3 LIGHTCYAN(淡青) 11RED(红色) 4 LIGHTRED(淡红) 12MAGENTA(品红) 5 LIGHTMAGENTA(粉红) 13BROWN(棕色) 6 YELLOW(黄色) 14LIGHTGRAY(淡灰) 7 WHITE(白色) 15-调用该函数,将改变整个屏幕的颜色,如果新的背景色与原来屏幕的图形颜色相同,尽管图形信息不会丢失,但是看不见图形了.如果所选背景色为对比鲜明的颜色,看不见的图形就会重新清晰地显现出来.这个函数的头文件为graphics.h返回值: 无例: 把背景色置为淡蓝色setbackcolor(LIGHTBLUE);43. setcolor() 设置颜色函数功能: 函数setcolor()设置当前绘图颜色(或称做前景色).用法: 该函数调用方式为voids setcolor(int color);说明: 参数color为选择的当前绘图颜色.在高分辨率显示模式下,选取的color是实际色彩值,也可以用颜色符号名表示.如果已经摇篮函数setpalette()改变了调色板色彩值,那么符号名就不可能产生预期作用了.在低分辨率显示模式(320X200)下,选取的color是调色板颜色号,不是实际色彩值.此函数相应的头文件为graphics.h返回值: 无例: 设置16种不同的颜色,显示16段直线:#includevoid main()int driver,mode;int i;driver=DETECT;mode=0;initgraph(&driver,&mode,);moveto(0,200);for(i=0;isize %dn,palette-size);getch();for(color=0;colorsize;color+)setfillstyle(LINE_FILL,color);bar(20*(color-1),0,20*color,20);getch();if(palette-size1)dosetpalette(random(palette-size),random(palette-size);while(!kbhit();getch();setallpalette(palette);closegraph();三,屏幕位置函数在图形模式下,字符屏幕坐标被像素坐标取代了,这种像素坐标根据不同的显示硬件,水平与垂直方向的分辨率可以从320X200变化到1280X1024等.由于分辨率的变化,以致要加载合适的图菜驱动程序,因此大多数图形程序是通过检测硬件开始的,然后使用getmaxx()和getmaxy()等函数来决定屏幕尺寸,调整随后的操作来适应这些屏幕限制.50. getmaxx()返回最大x坐标函数功能: 函数getmaxx()返回当前图形模式下的最大x坐标,即最大横向坐标.用法: 函数调用方式为int maxx(void);说明: 此函数独立于图形视口设置,仅取决于显示卡的显示模式相应的分辨率.这个函数对应的头文件是graphics.h返回值: 返回当前显示模式最大x坐标值.例: 使用本函数的例子见51.getmaxy()函数的例子中.51. getmaxy() 返回最大y坐标函数功能: 函数getmaxy()返回当前图形模式下的最大y坐标,即最大纵向坐标.用法: 函数调用方式为int getmaxy(void);说明: 此函数独立于图形视口设置,仅取决于显示卡的显示模式相应的分辨率.这个函数对应的头文件为graphics.h返回值: 返回当前显示模式的最大y坐标值.#includevoid main()int driver,mode;driver=DETECT;mode=0;initgraph(&driver,&mode,);printf(max x,y: %d %d,getmaxx(),getmaxy();getch();restorecrtmode();52. getx() 返回x坐标函数功能: 函数getx()返回当前图形模式下当前位置的x坐标(水平像素坐标).用法: 此函数调用方式为int getx(void);说明: 这里坐标是相对于当前图形视口的,如果没有设置图形视口,那么缺省的图形视口为整个屏幕.这类似于文本模式下使用wherex()函数.getx()函数相应的头文件是graphics.h返回值:返回当前x坐标值.例: 见53.gety()函数中的例子.53. gety() 返回y坐标函数功能: 函数gety()返回图菜模式下当前位置的y坐标(垂直像素坐标).用法: 此函数调用方式为int gety(void);说明: 函数返回的坐标是相对于当前图形视口的,如果没有设置图形视口,那么缺省的图形视口为整个屏幕,这类似于文本模式下使用wherey()函数.gety()函数对应的头文件是graphics.h返回值: 返回当前y坐标值.例: 显示图形模式下当前位置的x,y坐标值:printf(x: %d, y: %d, getx(),gety();54. moveto()函数功能: 函数moveto()将当前位置移动到指定坐标的位置说明: 这相当于文本模式下gotoxy()函数的操作,它提供对等的功能.此函数对应的头文件为graphics.h返回值: 无例: 把当前位置移到(66,88)位置上:moveto(66,88);55. moverel() 相对移动函数功能: 函数moverel()根据指定的偏移量,将当前位置移动一个相对距离(即偏移量大小的距离),成为新的当前位置.用法: 此函数调用方式为void moverel(int dx,int dy);说明: 参数dx为x方向相对移动距离dy为y方向相对移动距离.相对移动对图形应用程序,往往要比绝对移动方便一些.这个函数对应的头文件是graphics.h返回值: 无例: 下面的程序,当语句执行到当前位置在(90,90),则执行后将移动到(100,120)的位置上.即x方向相对移动10,y方向相对移动30:moverel(10,30);四,图形和图像函数(一) 像素函数56. putpiel() 画像素点函数57. getpixel()返回像素色函数(二) 直线和线型函数58. line() 画线函数59. lineto() 画线函数60. linerel() 相对画线函数61. setlinestyle() 设置线型函数62. getlinesettings() 获取线型设置函数63. setwritemode() 设置画线模式函数(三),多边形函数64. rectangle() 画矩形函数65. bar() 画条函数66. bar3d() 画条块函数67. drawpoly() 画多边形函数(四), 圆,弧和曲线函数68. getaspectratio()获取纵横比函数69. circle()画圆函数70. arc() 画圆弧函数71. ellipse()画椭圆弧函数72. fillellipse() 画椭圆区函数73. pieslice() 画扇区函数74. sector() 画椭圆扇区函数75. getarccoords()获取圆弧坐标函数(五), 填充函数76. setfillstyle() 设置填充图样和颜色函数77. setfillpattern() 设置用户图样函数78. floodfill() 填充闭域函数79. fillpoly() 填充多边形函数80. getfillsettings() 获取填充设置函数81. getfillpattern() 获取用户图样设置函数(六),图像函数82. imagesize() 图像存储大小函数83. getimage() 保存图像函数84. putimage() 输出图像函数C语言图形编程(三,绘图函数-02) A四,图形和图像函数对许多图形应用程序,直线和曲线是非常有用的.但对有些图形只能靠操作单个像素才能画出.当然如果没有画像素的功能,就无法操作直线和曲线的函数.而且通过大规模使用像素功能,整个图形就可以保存,写,擦除和与屏幕上的原有图形进行叠加.(一) 像素函数56. putpixel() 画像素点函数功能: 函数putpixel() 在图形模式下屏幕上画一个像素点.用法: 函数调用方式为void putpixel(int x,int y,int color);说明: 参数x,y为像素点的坐标,color是该像素点的颜色,它可以是颜色符号名,也可以是整型色彩值.此函数相应的头文件是graphics.h返回值: 无例: 在屏幕上(6,8)处画一个红色像素点:putpixel(6,8,RED);57. getpixel()返回像素色函数功能: 函数getpixel()返回像素点颜色值.用法: 该函数调用方式为int getpixel(int x,int y);说明: 参数x,y为像素点坐标.函数的返回值可以不反映实际彩色值,这取决于调色板的设置情况(参见setpalette()函数).这个函数相应的头文件为graphics.h返回值: 返回一个像素点色彩值.例: 把屏幕上(8,6)点的像素颜色值赋给变量color.color=getpixel(8,6);(二) 直线和线型函数有三个画直线的函数,即line(),lineto(),linerel().这些直线使用整型坐标,并相对于当前图形视口,但不一定受视口限制,如果视口裁剪标志clip为真,那么直线将受到视口边缘截断;如果clip为假,即使终点坐标或新的当前位置在图形视口或屏幕极限之外,直线截断到屏幕极限.有两种线宽及几种线型可供选择,也可以自己定义线图样.下面分别介绍直线和线型函数.58. line() 画线函数功能: 函数line()使用当前绘图色,线型及线宽,在给定的两点间画一直线.用法: 该函数调用方式为void line(int startx,int starty,int endx,int endy);说明: 参数startx,starty为起点坐标,endx,endy为终点坐标,函数调用前后,图形状态下屏幕光标(一般不可见)当前位置不改变.此函数相应的头文件为graphics.h返回值: 无例: 见函数60.linerel()中的实例.59. lineto() 画线函数功能: 函数lineto()使用当前绘图色,线型及线宽,从当前位置画一直线到指定位置.用法: 此函数调用方式为void lineto(int x,int y);说明: 参数x,y为指定点的坐标,函数调用后,当前位置改变到指定点(x,y).该函数对应的头文件为graphics.h返回值: 无例: 见函数60.linerel()中的实例.60.linerel() 相对画线函数功能: 函数linerel() 使用当前绘图色,线型及线宽,从当前位置开始,按指定的水平和垂直偏移距离画一直线.用法: 这个函数调用方式为void linerel(int dx,int dy);说明: 参数dx,dy分别是水平偏移距离和垂直偏移距离.函数调用后,当前位置变为增加偏移距离后的位置,例如,原来的位置是(8,6),调用函数linerel(10,18)后,当前位置为(18,24).返回值:无例: 下面的程序为画线函数调用实例:#includevoid main()int driver,mode;driver=DETECT;mode=0;initgraph(&driver,&mode,);setcolor(15);line(66,66,88,88);lineto(100,100);linerel(36,64);getch();restorecrtmode();61. setlinestyle() 设置线型函数功能: setlinestyle() 为画线函数设置当前线型,包括线型,线图样和线宽.用法: setlinestyle() 函数调用方式为void setlinestyle(int stly,unsigned pattern,int width);说明: 参数style为线型取值,也可以用相应名称表示,如表1-10中所示.参数pattern用于自定义线图样,它是16位(bit)字,只有当style=USERBIT_LINE(值为1)时,pattern的值才有意义,使用用户自定义线图样,与图样中1位对应的像素显示,因此,pattern=0xFFFF,则画实线;pattern=0x9999,则画每隔两个像素交替显示的虚线,如果要画长虚线,那么pattern的值可为0xFF00和0xF00F,当style不为USERBIT_LINE值时,虽然pattern的值不起作用,但扔须为它提供一个值,一般取为0.参数wigth用来设定线宽,其取值见表1-11,表中给出了两个值,即1和3,实际上,线宽取值为2也是可以接受的.若用非法参数调用setlinestyle()函数,那么graphresult()会返回错误代码,并且当前线型继续有效.Turbo C提供的线型与线宽定义在头文件graphics.h中,表1-10和1-11分别列出了参数的取值与含义.表1-10 线型-名 称 取 值 含 义-SOLID_LINE 0 实线DOTTED_LINE 1 点线CNTER_LINE 2 中心线DASHED_LINE 3 虚线USERBIT_LINE 4 用户自定义线型-表1-11 线宽-名 称 取 值 说 明-NORM_WIDTH(常宽) 1 一个像素宽(缺省值)THICK_WIDTH(加宽) 3 三个像素宽-这个函数的头文件是graphics.h返回值: 无例: 下面的程序显示了BC中所提供的线型图样:#includevoid main()int driver,mode;driver=DETECT;mode=0;initgraph(&driver,&mode,);for(i=0;i4;i+)setlinestyle(i,0,1);line(i*50,200,i*50+60,200)getch();restorecrtmode();62. getlinesettings() 获取线型设置函数功能: 函数getlinesettings() 用当前设置的线型,线图样和线宽填 写linesettingstype型结构.用法: 函数调用方式为void getlinesettings(struct linesettingstype *info);说明: 此函数调用执行后,当前的线型,线图样和线宽值被装入info指向的结构里,从而可从该结构中获得线型设置.linesettingstype型结构定义如下:struct linesettingstype int linestyle;unsigned upattern;int thickness;其中linestyle用于存放线型,线型值为表1-10中的各值之一.upattern用为装入用户自定义线图样,这是16位字,每一位等于一个像素,如果哪个位被设置,那么该像素打开,否则关闭.thickness为线宽值存放的变量,可参见表1-11.getlinesettings()函数对应的头文件为graphics.h返回值: 返回的线型设置存放在info指向的结构中.例: 把当前线型的设置写入info结构:struct linesettingstype info;getlinesettings(&info);63.setwritemode() 设置画线模式函数功能: 函数setwritemode() 设置画线模式用法: 函数调用方式为 void setwritemode()(int mode);说明: 参数mode只有两个取值0和1,若mode为0,则新画的线将复盖屏幕上原有的图形,此为缺省画线输出模式.如果mode为1,那么新画的像素点与原有图形的像素点先进行异或(XOR)运算,然后输出到屏幕上,使用这种画线输出模式,第二次画同一图形时,将擦除该图形.调用setwritemode()设置的画线输出模式只影响函数line(),lineto(),linerel(),recangle()和drawpoly().setwritemode()函数对应的头文件是graphics.h返回值: 无例: 设置画线输出模式为0:setwritemode(0);(三),多边形函数对多边形,无疑可用画直线函数来画出它,但直接提供画多边形的函数会给用户很大方便.最常见的多边形有矩形,矩形块(或称条形),多边形和多边形块,我们还把长方形条块也放到这里一起考虑,虽然它不是多边形,但它的特例就是矩形(块).下面直接介绍画多边形的函数.64. rectangle() 画矩形函数功能: 函数rectangle() 用当前绘图色,线型及线宽,画一个给定左上角与右下角的矩形(正方形或长方形).用法: 此函数调用方式为void rectangle(int left,int top,int right,int bottom);说明: 参数left,top是左上角点坐标,right,bottom是右下角点坐标.如果有一个以上角点不在当前图形视口内,且裁剪标志clip设置的是真(1),那么调用该函数后,只有在图形视口内的矩形部分才被画出.这个函数对应的头文件为graphics.h返回值: 无例: 下面的程序画一些矩形实例:#includevoid main()int driver,mode;driver=DETECT;mode=0;initgrpah(&driver,&mode,);rectangle(80,80,220,200);rectangle(140,99,180,300);rectangle(6,6,88,88);rectangle(168,72,260,360);getch();restorecrtmode();65. bar() 画条函数功能: 函数bar()用当前填充图样和填充色(注意不是给图色)画出一个指定上左上角与右下角的实心长条形(长方块或正方块),但没有四条边线).用法: bar()函数调用方式为void bar(int left,int top,int right,int bottom);说明: 参数left,topright,bottom分别为左上角坐标与右下角坐标,它们和调用函数rectangle()的情形相同,调用此函数前,可用setfillstyle()或setfillpattern()设置当前填充图样和填充色.注意此函数只画没有边线的条形,如果要画有边线的的条形,可调用下面的函数bar3d()来画,并将深度参数设为0,同时topflag参数要设置为真,否则该条形无顶边线.这 应的头文件为graphics.h返回值: 无例: 见函数bar3d()中的实例.66.bar3d() 画条块函数功能: 函数bar3d() 使用当前绘图色,线型及线宽画出三维长方形条块,并用当前填充图样和填 充色填充该三维条块的表面.用法: 此函数调用方式为void bar3d(int left,int top,int right,int bottom,int depth,int topflag);说明: 参数left,top,right,bottom分另为左上角与右下角坐标,这与bar()函数中的一样.参数depth为条块的深度,以像素为单位,通常按宽度的四分之一计算.深度方向通过屏显纵横比调节为约45度(即这时x/y比设置为1:1).参数topflag相当于一个布尔参数,如果设置为1(真)那么条块上放一顶面;若设置为0(假),则三维条形就没有顶面,这样可使多个三维条形叠加在一起.要使图形更加美观,可利用函数floodfill()或setfillpattern()来选择填充图样和填充色(参见本小节(五)填充函数 ).bar3d()函数对应的头文件为graphics.h返回值: 无例: 下面的程序画一个条形和条块:#includevoid main()int driver,mode;driver=DETECT;mode=0;initgraph(&driver,&mode,);setfillstyle(SOLID-FILL,GREEN);bar(60,80,220,160);setfillstyle(SOLID-FILL,RED);bar3d(260,180,360,240,20,1);getch();restorecrtmode();67. drawpoly() 画多边形函数功能: 函数drawpoly() 用当前绘图色,线型及线宽,画一个给定若干点所定义的多边形.用法: 此函数调用方式为void drawpoly(int pnumber,int *points);说明: 参数pnumber为多边形的顶点数;参数points指向整型数组,该数组中是多边形所有顶点(x,y)坐标值,即一系列整数对,x坐标值在前.显然整型数组的维数至少为顶点数的2倍,在定义了多边形所有顶点的数组polypoints时,顶点数目可通过计算sizeof(polypoints)除以2倍的sizeof(int)得到,这里除以2倍的原因是每个顶点有两个整数坐标值.另外有一点要注意,画一个n个顶点的闭合图形,顶点数必须等于n+1,并且最后一点(第n+1)点坐标必须等于第一点的坐标.drawpoly()函数对应的头文件为grpahics.h返回值: 无例: 下面的程序画一个封闭星形图与一个不封闭星形图:#includevoid main()int driver,mode;static int polypoints118=100,100,110,120,100,130,120,125,140,140,130,120,140,110,120,115,100,100;static int polypoints218=180,100,210,120,200,130,220,125,240,140,230,120,240,110,220,115,220,110;driver=DETECT;mode=0;initgraph(&driver,&mode,);drawpoly(9,polypoints1);drawpoly(9,polypoints2);getch();restorecrtmode();(四), 圆,弧和曲线函数在一个屏幕上画得很圆的图形到另一个屏幕上可能被压扁或拉长,这是因为每一种显示卡与之相应的显示模式都有一个纵横比.纵横比是指像素的水平方向大小与垂直方向大小的比值.如VGA显示卡由于偈素基本上是正方形,所以纵横比为1.000.为了保证几何图形基本按预计情况显示在屏幕上,用屏显的纵横比来计算和纠正不同硬件及显示卡产生的畸变.计算纵横比所需要的水平方向和垂直方向的比例系数可调用函数getaspectratio()获得.68. getaspectratio()获取纵横比函数功能: 函数getaspectratio()返回x方向和y方向的比例系数,用这两个整型值可计算某一特定屏显的纵横比.用法: 此函数调用方式为void getaspectratio(int xasp,int yasp);说明: 参数xasp指向的变量存放返回的x方向比例系数;参数yasp指向的变量存放返回的y方向比例系数.通常y方向比例系数为10 000, x方向比例系数不大于10 000(这是因为大多数屏幕像素高比宽长).注意纵横比自动用作下面函数arc(),circle()和pieslice()中的标尺因子,使屏幕上圆或弧正常显示.但用ellipse()函数画椭圆必须调用本函数获取纵横比作为标尺因子,否则不予调整.纵横比可用于其它几何图形,目的是校正和显示图形.getaspectratio()函数对应的头文件为graphics.h返回值: 返回x与y方向比例系数分别存放在xasp和yasp所指向的变量中.例: 下面的程序显示纵横比:int xasp,yasp;float aspectratio;getaspectratio(&xasp,&yasp);aspectratio=xasp/yasp;printf(aspect ratio: %f,aspectratio);69. circle()画圆函数功能: 函数circle()使用当前绘图色并以实线画一个完整的圆.用法:该函数调用方式为void circle(int x,int y,int radius);说明: 参数x,y为圆心坐标,radius为圆半径,用像素个素表示.注意,调用circle()函数画圆时不用当前线型.不同于ellipse()函数,只用单个半径radius参数调用circle()函数,故屏显纵横比可以自动调节,以产生正确的显示图.此函数对应的头文件为graphics.h返回值: 无例: 画六个同心圆,圆心在(100,100).#includevoid main()int driver,mode;driver=DETECT;mode=0;initgraph(&driver,&mode,);circle(100,100,10);circle(100,100,20);circle(100,100,30);circle(100,100,40);circle(100,100,50);circle(100,100,60);getch();restorecrtmode();70. arc() 画圆弧函数功能: 函数arc()使用当前绘图色并以实线画一圆弧.用法: 函数调用方式为void arc(int x,int y,int startangle,int endangle,int radius);说明: 参数x,y为圆心坐标,startangle与endangle分别为起始角与终止角,radius为半径.圆心坐标和半径以像素个数给出,起始角和终止角以度为单位,0度位于右边,90度位于顶部,180度位于左边,底部是270度.同往常一样,360度与0度重合.角度按逆时针方向增加,但并不要求终止角一定比起始角大.例如指定300度和90度分别为起始角和终止角,与指定300度和450度分别为起始角和终止角可画出相同的弧.大于360度可作为参数,它将被化到0度360度范围里.函数arc()能画封闭圆,只要取起始角为0度,终止角为360度即可.此函数中,屏显纵横比可自动调节.arc()函数对应的头文件为graphics.h返回值: 无例: 以(200,200)为圆心,100为半径,从0度到120度画圆弧:#includevoid main()int driver,mode;driver=DETECT;mode=0;initgraph(&drivwer,&mode,);setcolor(WHITE);arc(200,200,0,120,100);getch();restorecrtmode();C语言图形编程(三,绘图函数-02) B71. ellipse()画椭圆弧函数功能: 函数ellipse()使用当前绘图色画一椭圆弧.用法: 该函数调用方式为void ellipse(int x,int y,int startangle,int endangle,int xradius,int yradius);说明: 参数x,y为椭圆中心坐标,startangle和endangle为给定的起始角和终止角,xradius与yradius为椭圆的x轴半径与y轴半径,如果startangle为0 ,endangle等于360度,那么画出的是个完整的椭圆.ellipse()函数不同于arc()和circle()函数,屏显纵横比不能自动调节.若需要的是成比例的半径而不是特定的像素距离,则y轴距离必须调节为yradius*aspectratio(y轴半径乘以纵横比).此函数对应的头文件为graphics.h返回值: 无例: 在屏幕上画一个鸡蛋形的椭圆.#includevoid main()int driver,mode;driver=DETECT;mode=0;initgraph(&driver,&mode,);ellipse(200,100,0,360,80,40);getch();restorecrtmode();72. fillellipse() 画椭圆区函数功能: 函数fillellipse()使用当前绘图色画一椭圆,然后用当前填充色图样和填充色填充所画的椭圆.用法: 此函数调用方式为void fillellipse(int x,int y,int xradius,int yradius);说明: 参数x,y为椭圆中心坐标,xradius,yradius为水平轴半径和垂直轴半径.这个函数对应的头文件为graphics.h返回值: 无例: 画一填充椭圆:#include#include#define R 60void main()int driver,mode;int xasp,yasp;driver=DETECT;mode=0;initgraph(&driver,&mode,);fillellipse(getmaxx()/2,getaxy()/2,66,44);getaspectratio(&xasp,&yasp);fillellipse(R,R,R,R*(long)xasp/(long)yasp);getch();closegraph();73. pieslice() 画扇区函数功能: 函数pieslice()使用当前绘图色画一圆弧,并把弧两端与圆心分别连一直线段(即半径),然后用当前填图样和填充色进行填充,即得扇区.用法: 这个函数调用方式为void pieslice(int x,int y,int startangle,int endangle,int radius);说明: 函数pieslice()的操作类似于arc()函数(即同调用参数一样,只是函数名不同),因此调用此函数的详细说明参见函数arc()的相应内容.该函数对屏显纵横比能自动调节进行补偿.pieslice()函数对应的头文件为graphics.h返回值:无例: 显示一个扇形图,每45度为一个不同的扇区:#includevoid main()int driver,mode;int i,start,end;driver=DETECT;mode=0;initgraph(&driver,mode,);start=0;end=45;for(i=0;i8;i+)setfillstyle(SOLID_FILL,i);pieslice(260,200,start,end,100);start+=45;end+=45;getch();restorecrtmode();74. sector() 画椭圆扇区函数功能: 函数s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024桂林信息科技学院辅导员招聘笔试真题
- 翻译(俄语)岗位考试试卷及答案
- 2025年航空制造和材料专用设备项目合作计划书
- 2025年聚烯烃类线缆项目建议书
- 2024年杭州市委党校萧山区分校招聘真题
- 2025年吉安县农业产业发展中心人员招聘笔试考试试题【答案】
- 消费偏好变迁下的产品创新
- 湘艺版音乐一年级上册牵牛花当喇叭教案
- 2025年装订活动及印刷用附件项目建议书
- 2025年电动护理床合作协议书
- 如何做好一名合格医生
- 福建漳州安然燃气有限公司招聘笔试题库2025
- 2025年天津市中考历史试卷(含答案)
- 2025年中国汽车检测行业市场调查研究及投资前景预测报告
- 关于社保培训课件
- 2025秋初升高衔接新高一物理模拟卷-分班模拟卷(五)
- 呆滞料奖惩管理制度
- 充电站可行性研究报告
- 公司安全事故隐患内部举报、报告奖励制度
- 《光伏发电工程预可行性研究报告编制规程》(NB/T32044-2018)中文版
- 身份证籍贯自动对照自动生成
评论
0/150
提交评论