C语言fillpoly函数详解

C语言中,fillpoly函数的功能是画一个多边形,今天我们就来学习学习。

C语言fillpoly函数:填充一个多边形

函数名:fillpoly

功 能:画并填充一个多边形

头文件:#include <graphics.h>

原 型:fillpoly(int numpoints, int far *polypoints);

参数说明:numpoints 为多边形的边数;far *polypoints 为存储各顶点坐标的数组,每两个一组表示一个顶点的 X 和 Y 坐标。

实例代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void)

{

/* request auto detection */

int gdriver = DETECT, gmode, errorcode;

int i, maxx, maxy;

/* our polygon array */

int poly[8];

/* initialize graphics, local variables */

initgraph(&gdriver, &gmode, "");

/* read result of initialization */

errorcode = graphresult();

if (errorcode != grOk)

/* an error occurred */

{

printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1);

/* terminate with an error code */

}

maxx = getmaxx();

maxy = getmaxy();

poly[0] = 20; /* 1st vertext */

poly[1] = maxy / 2;

poly[2] = maxx - 20; /* 2nd */

poly[3] = 20;

poly[4] = maxx - 50; /* 3rd */

poly[5] = maxy - 20;

/*

4th vertex. fillpoly automatically

closes the polygon.

*/

poly[6] = maxx / 2;

poly[7] = maxy / 2;

/* loop through the fill patterns */

for (i=EMPTY_FILL; i<USER_FILL; i++)

{

/* set fill pattern */

setfillstyle(i, getmaxcolor());

/* draw a filled polygon */

fillpoly(4, poly);

getch();

}

/* clean up */

closegraph();

return 0;

}

注:fillpoly 函数是 TC 编译环境下的函数,VC 中无法使用。

以上就是关于fillpoly函数填充多边形功能的实现代码,希望对大家的学习有所帮助。

本文链接:https://my.lmcjl.com/post/8369.html

展开阅读全文

4 评论

留下您的评论.