Boundary Fill Algorithm program to fill a polygon

#include<stdio.h>
#include<conio.h>
#include<graphics.h>

void boundary_fill(int x, int y, int fcolor, int bcolor)
{

    if ((getpixel(x,y) != fcolor) && (getpixel(x,y) != bcolor))
    {
 delay(5);
 putpixel(x, y, fcolor);
 boundary_fill(x + 1, y, fcolor, bcolor);
 boundary_fill(x - 1, y, fcolor, bcolor);
 boundary_fill(x, y - 1, fcolor, bcolor);
 boundary_fill(x, y + 1, fcolor, bcolor);
    }
}


void main()
{
    int x, y, fcolor, bcolor;
    int gd = DETECT,gm;
    clrscr();
    printf("Enter the seed point (x,y) : ");
    scanf("%d%d", &x, &y);
    printf("Enter boundary color : ");
    scanf("%d", &bcolor);
    printf("Enter new color : ");
  
 scanf("%d", &fcolor);

    initgraph(&gd, &gm, "C:\\TurboC3\\BGI");
    cleardevice();

    setcolor(bcolor);
/*Draw any Polygon */
  //  circle(x,y,40);
 rectangle(x-30,y-50,x+30,y+50);

    boundary_fill(x, y, fcolor, bcolor);

    getch();
}



No comments: