资源描述:
《C语言图形图形处理精讲.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、对许多图形应用程序,直线和曲线是非常有用的。但对有些图形只能靠操作单个像素才能画出。当然如果没有画像素的功能,就无法操作直线和曲线的函数。而且通过大规模使用像素功能,整个图形就可以保存、写、擦除和与屏幕上的原有图形进行叠加。(一)像素函数putpixel()画像素点函数 功能:函数putpixel()在图形模式下屏幕上画一个像素点。 用法:函数调用方式为voidputpixel(intx,inty,intcolor); 说明:参数x,y为像素点的坐标,color是该像素点的颜色,它可以是颜色符号名,也可以是整型色
2、彩值。 此函数相应的头文件是graphics.h 返回值:无 例:在屏幕上(6,8)处画一个红色像素点: putpixel(6,8,RED);getpixel()返回像素色函数 功能:函数getpixel()返回像素点颜色值。 用法:该函数调用方式为intgetpixel(intx,inty); 说明:参数x,y为像素点坐标。 函数的返回值可以不反映实际彩色值,这取决于调色板的设置情况(参见setpalette()函数)。 这个函数相应的头文件为graphics.h 返回值:返回一个像素点色彩值。
3、 例:把屏幕上(8,6)点的像素颜色值赋给变量color。color=getpixel(8,6);(二)直线和线型函数有三个画直线的函数,即line(),lineto(),linerel()。这些直线使用整型坐标,并相对于当前图形视口,但不一定受视口限制,如果视口裁剪标志clip为真,那么直线将受到视口边缘截断;如果clip为假,即使终点坐标或新的当前位置在图形视口或屏幕极限之外,直线截断到屏幕极限。 有两种线宽及几种线型可供选择,也可以自己定义线图样。下面分别介绍直线和线型函数。line()画线函数 功能:函数l
4、ine()使用当前绘图色、线型及线宽,在给定的两点间画一直线。精选范本,供参考! 用法:该函数调用方式为voidline(intstartx,intstarty,intendx,intendy); 说明:参数startx,starty为起点坐标,endx,endy为终点坐标,函数调用前后,图形状态下屏幕光标(一般不可见)当前位置不改变。 此函数相应的头文件为graphics.h 返回值:无 例:见函数60.linerel()中的实例。lineto()画线函数 功能:函数lineto()使用当前绘图色、线型及
5、线宽,从当前位置画一直线到指定位置。 用法:此函数调用方式为voidlineto(intx,inty); 说明:参数x,y为指定点的坐标,函数调用后,当前位置改变到指定点(x,y)。 该函数对应的头文件为graphics.h 返回值:无 例:见函数60.linerel()中的实例。linerel()相对画线函数 功能:函数linerel()使用当前绘图色、线型及线宽,从当前位置开始,按指定的水平和垂直偏移距离画一直线。 用法:这个函数调用方式为voidlinerel(intdx,intdy); 说明:参
6、数dx,dy分别是水平偏移距离和垂直偏移距离。 函数调用后,当前位置变为增加偏移距离后的位置,例如,原来的位置是(8,6),调用函数linerel(10,18)后,当前位置为(18,24)。 返回值:无 例:下面的程序为画线函数调用实例: #include voidmain() { intdriver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,""); setcolor(15); line(66,66,88,
7、88); lineto(100,100);精选范本,供参考! linerel(36,64); getch(); restorecrtmode(); }setlinestyle()设置线型函数 功能:setlinestyle()为画线函数设置当前线型,包括线型、线图样和线宽。 用法:setlinestyle()函数调用方式为voidsetlinestyle(intstly,unsignedpattern,intwidth); 说明:参数style为线型取值,也可以用相应名称表示,如表1-10中所示。 参
8、数pattern用于自定义线图样,它是16位(bit)字,只有当style=USERBIT_LINE(值为1)时,pattern的值才有意义,使用用户自定义线图样,与图样中“1”位对应的像素显示,因此,pattern=0xFFFF,则画实线;pattern=0x9999,则画每隔两个像素交替显示的虚线,如果要画长虚线,那么patt