《C语言图形函数》由会员分享,可在线阅读,更多相关《C语言图形函数(27页珍藏版)》请在人人文库网上搜索。
1、Turbo C绘图程序设计,图形显示器的工作方式,IBM PC 机的显示器可以在两种基本视频方式下工作:文本方式;图形方式,1 )文本方式,屏幕上可以显示的最小单位是字符,字符在屏幕上以行、列排列,如2580个字符,2 )图形方式,屏幕上可以控制的最小单元称作像素 ( pixel ) ,它是组成图形的基本元素,在图形方式下,屏幕上每个像素的显 示位置用屏幕坐标系来描述。在该坐 标系中,屏幕左上角为坐标系的原点, 坐标值为 ( 0 , 0 ),屏幕坐标系,坐标值的范围决定于所用显示器的 分辨率,图形函数及其用法 Turbo C 的图形函数均在一个头文件 “ graphics.h” 中定义。所以,。
2、凡是在 程序中要调用这些图形函数,都必须 在源程序的开头写上文件包含命令: # include,TC绘图程序: 图形系统初始化 绘图 关闭图形模式,图形方式初始化 通过从磁盘上装入一个图形驱动程序 来初始化图形系统,并将系统设置为 图形模式。其调用格式为: initgraph (,若 gdriver = DETECT;则由系统自动检测图形适配器 的最高分辨率模式,并装入相应的图形驱动程序. path是一个字符串,用来指明图形驱动程序所在的路径。 若图形驱动程序在用户当前目录下,则path为空串,举例: int gdriver = DETECT , gmode ; initgraph,关闭图形模。
3、式 closegraph ( ),LINE 函数: 在指定两点之间画直线。 如:line ( x1 , y1 , x2 , y2 ) ; MOVETO 函数: 移到指定点(不画线)。 如:moveto ( x , y ),CIRCLE 函数: 指定圆心和半径画圆。 如:circle ( xc , yc , r ) ; ARC 函数: 画一段圆弧。要求指定圆弧所在圆的 圆心、半径,以及圆弧的起始角度和终 止角度。 如:arc ( xc , yc , angs , ange , r ),RECTANGLE 函数: 指定矩形的左上角和右下角画一个矩形。 如:rectangle ( x1 , y1 ,。
4、 x2 , y2 ) ; DRAWPOLY 函数: 画一条多边折线。 如:drawpoly ( n,p ) ; 其中,n 为多边折线的顶点数;p 为存放 顶点坐标值的数组名。数组元素个数为2*n .如果首尾两点重合,则可以绘制一个多边形,例如: #include “graphics.h ”main( ) int gdriver ,gmode ;static int p 8 = 10,20,150,150,200,30,10,20 ; gdriver = DETECT;initgraph( /*关闭图形系统,返回文本方式 */,图形的属性指颜色和线型,颜色又分 为背景色和前景色。 系统的默认值为。
5、:背景色为黑色;前 景色为白色;线型为实线,setbkcolor(背景色);设置背景色 如: setbkcolor(BLUE);设置背景色为兰色 setbkcolor(12);设置背景色为12号色 setcolor(画笔色);设置画笔色 如: setcolor(YELLOW);设置画笔色为黄色 setcolor(5);设置画笔色为5号色 注意:背景色和画笔色可以是名字或数字。见下表,表,putpixel(x,y,color);在(x,y)处以color色画一点 例: putpixel(10,20,RED);在(10,20)处画一红点 getpixel(x,y); 得到(x,y)处的颜色值 例:。
6、 if (getpixel(300,270)= =7)outtextxy(x,y,”字符串”);从(x,y)处开始显示字符串例:outtextxy(10,20,”ABCF”);在(10,20)处显示ABCF,setfillstyle ( p, color ); 设置填充模式p(取值为0-12)及填充色color。 floodfill (x,y,bcolor); 从(x,y)开始,用setfillstyle设置好的填充模式及填充色向四周填充,直到边界(边界色为bcolor)为止。 例: setcolor(RED); circle(300,200,50); setfillstyle(2,GREEN。
7、); floodfill(300,200,RED); 从(300,200)开始,按setfillstyle设置的模式及颜色开始填充,一直到红色边界(圆周边界)才停止,bar(x1,y1,x2,y2); 由setcolor设置的颜色画一个矩形,并自动按setfillstyle设置的模式及颜色对矩形填充. 矩形的左上角坐标(x1,y1),矩形的右下角坐标(x2,y2) pieslice(x,y,a1,a2,r); 由setcolor设置的颜色画一个扇形,并自动按setfillstyle设置的模式及颜色对扇形填充. 起始角度a1,终止角度a2,圆心(x,y),半径r,下面是与动画有关的几个函数: g。
8、etimage(x1,y1,x2,y2,p);将屏幕左上角(x1,y1),右下角(x2,y2)的矩形区域内的图象存到指针P所指向的内存区域中。 putimage(x,y,p,op);将p所指向的内存区域的内容在屏幕上显示,左上角坐标(x,y)。op= 0: 预先对屏幕不进行任何操作; 1: 预先对屏幕进行“异或”操作; 2: 预先对屏幕进行“或”操作; 3: 预先对屏幕进行“与”操作; 4: 预先对缓冲区内容进行求“反”操作; imagesize(x1,y1,x2,y2)返回保存位图象所需的字节数,例:图形移动 (一个矩形块水平右移)。#include”graphics.h”#include”。
9、stdlib.h”main( ) void *w; int driver=DETECT,mode,i; initgraph(,屏幕管理: setviewport(x1,y1,x2,y2,c);设置视图区。 (x1,y1)为视图区的左上角坐标;(x2,y2)为视图区的右下角坐标。 c为裁剪状态参数,当c=1时,则超出视图区的图形部分被自动裁剪掉;当c=0时,则对超出视图区的图形不作裁剪处理。 注意:视图区建立以后,所有的图形输出坐标都是相对于当前视图区的,即视图区左上角点为坐标(0,0)点,而与图形在屏幕上的位置无关。 clearviewport(); 清除视图区。 cleardevice();清除屏幕,并将当前点位置设置为原点(0,0)。但是其它的图形系统设置将保持不变,如线型、填充模式、视图区的设置等。