画矩形条形的c语言函数,c语言第12章.ppt

本文介绍了TurboC的图形设计基础,包括图形模式的设置与关闭,以及如何使用图形库函数进行点、线、面的绘制。通过initgraph()函数初始化图形模式,然后利用line()、lineto()、moveto()等函数绘制图形,最后通过closegraph()关闭图形方式。此外,文章还提到了图形模式的分辨率和颜色控制等相关概念。
摘要由CSDN通过智能技术生成

c语言第12章

12.1 图形设计 12.1.1 图形设计基础 1. Turbo C与图形接口 C语言具有相当强的图形处理能力,支持CGA、MCGA、EGA、VGA和IBM8514等图形显示器。 图形模式下,屏幕上每一个可以控制的单元叫做像素(pixel),它是组成图形的基本元素,一般称为点。 通常把屏幕上所包含的像素的个数叫做分辨率。分辨率越高,显示的图形越细致,质量越好。 2.Turbo C图形库函数 Turbo C 凡是在程序中要调用这些图形函数,都必须在程序文件的开头写上文件包含命令“include”。 Turbo C图形函数库中提供的函数包括7类: (1)图形系统控制函数 (2)画线与填充函数 (3)管理屏幕和视口函数 (4)图形方式下的字符输出函数 (5)颜色控制函数 (6)图形方式下的错误处理函数 (7)状态查询函数 3.Turbo C绘图的基本步骤 (1)设置图形模式 Turbo C提供图形方式初始化函数initgraph()。 (2)绘制图形 在图形方式下使用各种绘图函数绘制图形,这是图形设计的第二步。 如circle(100,200,50)就可以在点(100,200)处绘制一个半径为50的圆。 (3)关闭图形方式 closegraph()函数用来关闭图形方式返回文本方式,这是图形设计的第三步。 【例12.1】使用Turbo C图形系统的一个简单实例。 #include//调用图形库函数 #include main() { int gdrive=DETECT,gomde; int x_max,y_max; initgraph(&gdriver,&gmode,”c:\\tc”);//初始化图形方式 x_max=getmaxx(); y_max=getmaxy(); moveto(x_max/2,0); lineto(0,y_max); lineto(x_max,y_max); lineto(x_max/2,0); getch(); closegraph();//关闭图形方式 } 12.1.2 图形模式设置 1.图形方式初始化 初始化通过函数initgraph来完成。其调用格式为: initgraph(*gdriver,*gmode,*path); 函数initgraph通过从磁盘装入一个图形驱动程序来完成初始化图形系统,并将系统设置为图形方式,其中3个参数的含义如下。 (1)gdriver是一个枚举型变量,它属于显示器驱动程序的枚举类型: Enum graphics_driver{DETECT,CGA,MCGA,EGA,EGA64,EGAMONO,IBM8514,HERCMONO,ATT400,VGA,PC3270}; (2)gmode是一个整型值,用来设置图形显示模式,不同的图形驱动程序有不同的图形显示模式,即使是同一个图形驱动程序下,也有几种图形显示模式。 (3)path是一个字符串,用来指定图形驱动程序所在的路径(即BGI的存储路径)。 2.关闭图形方式 在运行图形程序绘图结束后,要回到文本方式,以进行其他工作,这时应关闭图形方式。关闭图形方式要调用的函数closegraph。其调用格式为: closegraph(); 其作用是释放所有图形系统分配的存储区,恢复到调用initgraph之前的状态。 12.1.3 基本图形绘制 图形由点、线、面组成,图形的绘制使用基本绘图函数来完成的。主要介绍几类基本图形的绘制方法。 1.画点 画点函数如下: putpixel(int x,int y,intcolor); 它表示在指定的x,y位置画一个点,点的显示颜色由设置的color值决定,关于颜色的设置,将在设置颜色函数中介绍。 如:putpixel(10,10,WHITE);/*在(10,10)处画一白点*/ 2.画直线 (1)line函数 line(int x1,int y1,int x2,int y2); line函数用于在指定两点之间画一条直线段,参数x1,y1,x2、y2使用绝对坐标,(x1,y1)和(x2,y2)分别为直线的两个端点坐标。用line函数画直线时,当前点位置不变。 (2)lineto函数 lineto(int x,int y); lineto函数用于从当前点位置到指定位置(x,y)画一条直线,并改变当前点的位置。所以画一条直线的同时,当前点的位置也移到了指定点,即直线的终点。 (3)moveto函数 moveto(int x,int y);//将当前点移动到(x,y)。 (4)linerel函数 linerel(in

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值