setcolor(LIGHTRED); setlinestyle(0,0,3); setfillstyle(1,14); /*设置填充方式*/ bar3d(100,200,400,350,200,1); /*画长方体并填充*/ floodfill(450,300,LIGHTRED); /*填充长方体另外两个面*/ floodfill(250,150, LIGHTRED); rectanle(450,400,500,450); /*画一矩形*/ floodfill(470,420, LIGHTRED); /*填充矩形*/ getch(); closegraph(); }
6. 有关图形窗口和图形屏幕操作函数
一、图形窗口操作 象文本方式下可以设定屏幕窗口一样, 图形方式下也可以在屏幕上某一区域 设定窗口, 只是设定的为图形窗口而已, 其后的有关图形操作都将以这个窗口的 左上角(0,0)作为坐标原点, 而且可为通过设置使窗口之外的区域为不可接触。 这样, 所有的图形操作就被限定在窗口内进行。 void far setviewport(int xl,int yl,int x2, int y2,int clipflag); 设定一个以(xl,yl)象元点为左上角, (x2,y2)象元为右下角的图形窗口, 其 中x1,y1,x2,y2是相对于整个屏幕的坐标。若clipflag为非0, 则设定的图形以外 部分不可接触, 若clipflag为0, 则图形窗口以外可以接触。 void far clearviewport(void); 清除现行图形窗口的内容。 void far getviewsettings(struct viewporttype far * viewport); 获得关于现行窗口的信息,并将其存于viewporttype定义的结构变量viewport 中, 其中viewporttype的结构说明如下: struct viewporttype{ int left, top, right, bottom; int cliplag; }; 注明: 1. 窗口颜色的设置与前面讲过的屏幕颜色设置相同, 但屏幕背景色和窗口 背景色只能是一种颜色, 如果窗口背景色改变, 整个屏幕的背景色也将改变这与 文本窗口不同。 2. 可以在同一个屏幕上设置多个窗口, 但只能有一个现行窗口工作, 要对 其它窗口操作, 通过将定义那个窗口的setviewport()函数再用一次即可。 3. 前面讲过图形屏幕操作的函数均适合于对窗口的操作。
二、屏幕操作 除了清屏函数以外, 关于屏幕操作还有以下函数: void far setactivepage(int pagenum); void far setvisualpage(int pagenum); 这两个函数只用于EGA,VGA 以及HERCULES图形适配器。setctivepage() 函数 是为图形输出选择激活页。 所谓激活页是指后续图形的输出被写到函数选定的 pagenum页面, 该页面并不一定可见。setvisualpage()函数才使pagenum 所指定 的页面变成可见页。页面从0开始(Turbo C默认页)。如果先用setactivepage() 函数在不同页面上画出一幅幅图像,再用setvisualpage()函数交替显示, 就可以 实现一些动画的效果。 void far getimage(int xl,int yl, int x2,int y2, void far *mapbuf); void far putimge(int x,int,y,void * mapbuf, int op);
上一篇:C++ 代码优化
下一篇:C语言图形处理
|