资源描述:
《c语言绘图基础.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、使用图形函数1.必须包含头文件2.保证系统能找到显示图形驱动程序*.BGI3.将TC集成开发环境Options菜单中Linker项中的GraphicsLib选为on只有做完这三步才能保证正确编译图形应用程序屏幕颜色的设置设置当前背景色:voidfarsetbkcolor(intcolor);设置当前作图色:voidfarsetcolor(intcolor);对于EGA或者VGA显示适配器,有关颜色的符号常数及数值如下:BLACK0黑色BLUE1蓝色GREEN2绿色CYAN3青色RED4红色MAGENTA5洋红BROWN6棕色LIGHTGRAY7淡灰DARKGRA
2、Y8深灰LIGHTBLUE9深蓝LIGHTGREEN10淡绿LIGHTCYAN11淡青LIGHTRED12淡红LIGHTMAGENTA13淡洋红YELLOW14黄色WHITE15ft色如果不设定颜色,则默认的北京颜色是0,也就是黑色背景;默认的画笔颜色是15,也就是白色另外还有几个获取现行颜色设置情况的函数:intfargetbkcolor(void);intfargetcolor(void);intfargetmaxcolor(void);直接对点进行处理的函数:intfargetpixel(intx,inty);/*取得点(x,y)的颜色voidfarputpixel(intx,i
3、nty,intpixelcolor);/*在(x,y)处画一个指定颜色的点坐标和画笔:图形模式屏幕的左上角是坐标原点(0,0),水平方向向右是X轴,垂直方向向下为Y轴。因为图形显示器和显示模式不同,X、Y处标的最大值不同。两个函数可以収得这两个最大值:intfargetmaxx(void);intfargetmaxy(void);这两个函数在自动检测分辨率时非常有用。intfargetx(void);/*返回画笔在x轴的位置intfargety(void);/*返回画笔在y轴的位置intfarmoveto(intx,inty);/*移动呦笔到x,y所在的位置,不在屏幕上留下痕迹。int
4、farmovcrcl(intdx,intdy);/*从当前画笔位置(x,y)移动至lj(x+dx,y+dy)去。属于相对当前点的移动。voidfarlinerel(intdx,intdy);/*画线函数TC屮的曲线函数voidfarline(intxO,intyO,intxl,intyl);voidfarlincto(intx,inty);voidfarlinerel(intdx,intdy);voidfarcircle(intx,inty,intradius);voidfararc(intx,inty,intstangle,intendangle,intradius);/*以(x,y
5、)为圆心,radius为半径,从stanglc?ljendange结束(用度表示)画一段圆弧线。在TurboC中规定x轴正向为0度,逆吋针方向旋转一周,依次为90,180,270和360度。voidellipse(intx,inty,intstangle,intendangle,intxradius,intyradius);/*椭圆线,stangle=0,endangle=360时为一个完整的椭圆voidfarrectangle(intx1,intyl,intx2,inty2);voidfardrawpoly(intnumpoints,intfar*polypoints)TC中的线形设
6、定setlinestyle()函数用于设定线形getlinessetings()函数用于读出当前线形voidfarsetlinestyle(intlinestyle,unsignedupattern,intthickness);线的形状SOLID.LINE0实线DOTTED_L1NEI点线CENTER_LINE2中心线DASHED_LINE3点価线USERBIT_LINE4用户定义线线的宽度(仅两种)NORM_WIDTH1一点宽THICK_WIDTH3三点宽voidfargetlinessetings(structlinesettingstypefar*lineinfo);struct
7、linesettingstype{intlinestyle;unsignedupattern;intthickness;}下面两句代码可以读出当前线的特性structlinesettingstype*info;getlinesettings(info);另外还冇一个对価线特性的规定:voidfarsctwritcmodc(intmode);如果mode=0,则表示画线时将所画位置的原图形覆盖(默认方式),如果mode=l,则表示画线时用现在特性