一、问题
TC 中有哪些画矩形的函数?怎么使⽤?
二、解答
TC中有5个画矩形函数,其语法格式如下。
void far rectangle(int left, int top, int right, int bottom); /*绘制⼀个矩形边框*/
void far bar(int xl, int yl, int x2, int y2); /*绘制⼀个填充的矩形窗⼜*/
void far bar3d(int xl, int yl, int x2, int y2, int depth, int topflag);
/*当 topflag 为⾮零时,绘制出⼀个三维的长⽅体:当 topflag 为0时,三维图形不封顶*/
void fillpoly(int numpoints, int far *polypoints);
/*绘制⼀个填充多边形,边数为 numpoints,顶点在数组 polypoints 中,该数组每相邻两个数是⼀个点的坐标(x,y))*/
void drawpoly(int numpoints, int far *polypoints);
/*绘制⼀个填充的多边形。其中参数 numpoint、 polypoints 的含义与 fillpoly()中的相同。要绘制封闭五边形,要有6个点,第六点坐标与第⼀点坐标相同*/
下⾯程序演示了各函数的应⽤,代码如下。
#include <stdio.h>
#include <graphics.h>
#include <math.h>
#define PI 3.1415926
int main()
{
int driver - DETECT, mode;
int i;
int point[12];
initgraph(&driver, &mode, "");
setcolor(YELLOW);
reetangle(350, 100, 450, 200);
setfillstyle(SOLID FILL, GREEN);
bar3d(100, 100, 200, 200, 50, 1);
bar(100, 300, 200, 400);
for (i = 0; i < 5; i++)
{
point[2 * i] = sin((180 + 72 * i) / 180.0 * PI) * 50 + 300;
point[2 * i + 1] = cos((180 + 72 * i) / 180.0 * PI) * 50 + 360;
}
fillpoly(S, point);
for (i - 0; i < 5; i++)
{
point[2 * i] = sin((180 + 144 * i) / 180.0 * PI) * 50 + 450;
point[2 * i + 1] = cos((180 + 144 * i) / 180.0 * PI) * 50 + 360
}
point[10] = point[O];
point[11] = point[1];
drawpoly(6, point);
getch();
closegraph();
}
三、总结
矩形是最常⽤的图形,可以由矩形构成其他复杂图形,因此⼀定熟练掌握。