CGR Polygon Filling Programs
CGR Polygon Filling Programs
CGR Polygon Filling Programs
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void flood_fill(int,int,int,int);
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\\TC\\BGI");
rectangle(50,50,100,100);
flood_fill(51,51,4,0);
getch();
closegraph();
}
void flood_fill(x,y,fill_color, old_color)
{
if(getpixel(x,y) == old_color)
{
delay (1);
putpixel(x,y,fill_color);
flood_fill(x+1,y,fill_color, old_color);
flood_fill(x-1,y,fill_color, old_color);
flood_fill(x,y+1,fill_color, old_color);
flood_fill(x,y-1,fill_color, old_color);
}
}
OUTPUT:
PROGRAM TO FILL POLYGON USING FLOODFILL ALGORITHM (8 CONNECTED) :
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void flood_fill(int,int,int,int);
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\\TC\\BGI");
rectangle(50,50,100,100);
flood_fill(51,51,4,0);
getch();
closegraph();
}
void flood_fill(x,y,fill_color, old_color)
{
if(getpixel(x,y) == old_color)
{
delay (1);
putpixel(x,y,fill_color);
flood_fill(x+1,y,fill_color, old_color);
flood_fill(x-1,y,fill_color, old_color);
flood_fill(x,y+1,fill_color, old_color);
flood_fill(x,y-1,fill_color, old_color);
flood_fill(x+1,y+1,fill_color, old_color);
flood_fill(x+1,y-1,fill_color, old_color);
flood_fill(x-1,y-1,fill_color, old_color);
flood_fill(x-1,y+1,fill_color, old_color);
}
}
OUTPUT:
PROGRAM TO FILL HEXAGON USING FLOOD FILL ALGORITHM
(4 CONNECTED):
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void flood_fill(int,int,int,int);
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\\TC\\BGI");
line(50,25,25,50);
line(50,25,75,25);
line(75,25,100,50);
line(100,50,75,75);
line(75,75,50,75);
line(50,75,25,50);
flood_fill(51,51,4,0);
getch();
closegraph();
}
void flood_fill(x,y,fill_color, old_color)
{
if(getpixel(x,y) == old_color)
{
delay (1);
putpixel(x,y,fill_color);
flood_fill(x+1,y,fill_color, old_color);
flood_fill(x-1,y,fill_color, old_color);
flood_fill(x,y+1,fill_color, old_color);
flood_fill(x,y-1,fill_color, old_color);
}
}
OUTPUT:
PROGRAM TO FILL TRIANGLE USING FLOOD FILL ALGORITHM
(4 CONNECTED):
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void flood_fill(int,int,int,int);
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\\TC\\BGI");
line(50,25,25,75);
line(50,25,75,75);
line(25,75,75,75);
flood_fill(51,51,4,0);
getch();
closegraph();
}
void flood_fill(x,y,fill_color, old_color)
{
if(getpixel(x,y) == old_color)
{
delay (1);
putpixel(x,y,fill_color);
flood_fill(x+1,y,fill_color, old_color);
flood_fill(x-1,y,fill_color, old_color);
flood_fill(x,y+1,fill_color, old_color);
flood_fill(x,y-1,fill_color, old_color);
}
}
OUTPUT:
PROGRAM TO FILL A POLYGON USING BOUNDARY FILL ALGORITHM
(4 CONNECTED):
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void boundary_fill(int,int,int,int);
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\\TC\\BGI");
rectangle(50,50,100,100);
boundary_fill(51,51,4,0);
getch();
closegraph();
}
void boundary_fill(x,y,fill_color, b_color)
{
if(getpixel(x,y)!= fill_color &&
getpixel(x,y)!= b_color)
{
delay (1);
putpixel(x,y,fill_color);
boundary_fill(x+1,y,fill_color, b_color);
boundary_fill(x-1,y,fill_color, b_color);
boundary_fill(x,y+1,fill_color, b_color);
boundary_fill(x,y-1,fill_color, b_color);
}
}
OUTPUT:
PROGRAM TO FILL A POLYGON USING BOUNDARY FILL ALGORITHM
(8 CONNECTED):
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void boundary_fill(int,int,int,int);
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\\TC\\BGI");
rectangle(50,50,100,100);
boundary_fill(51,51,4,0);
getch();
closegraph();
}
void boundary_fill(x,y,fill_color, b_color)
{
if(getpixel(x,y)!= fill_color &&
getpixel(x,y)!= b_color)
{
delay (1);
putpixel(x,y,fill_color);
boundary_fill(x+1,y,fill_color, b_color);
boundary_fill(x-1,y,fill_color, b_color);
boundary_fill(x,y+1,fill_color, b_color);
boundary_fill(x,y-1,fill_color, b_color);
boundary_fill(x+1,y+1,fill_color, b_color);
boundary_fill(x+1,y-1,fill_color, b_color);
boundary_fill(x-1,y-1,fill_color, b_color);
boundary_fill(x-1,y+1,fill_color, b_color);
}
}
OUTPUT:
PROGRAM TO FILL TRAPEZOID USING BOUNDARY FILL ALGORITHM
(4 CONNECTED):
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void boundary_fill(int,int,int,int);
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\\TC\\BGI");
line(10,150,140,90);
line(200,150,170,90);
line(110,150,200,150);
line(140,90,170,90);
boundary_fill(51,51,4,0);
getch();
closegraph();
}
void boundary_fill(x,y,fill_color, b_color)
{
if(getpixel(x,y)!= fill_color &&
getpixel(x,y)!= b_color)
{
delay (1);
putpixel(x,y,fill_color);
boundary_fill(x+1,y,fill_color, b_color);
boundary_fill(x-1,y,fill_color, b_color);
boundary_fill(x,y+1,fill_color, b_color);
boundary_fill(x,y-1,fill_color, b_color);
}
}
OUTPUT:
PROGRAM TO FILL POLLYGON (HEXAGON)USING BOUNDARY FILL
ALGORITHM :
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void boundary_fill(int,int,int,int);
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\\TC\\BGI");
line(50,25,25,50);
line(50,25,75,25);
line(75,25,100,50);
line(100,50,75,75);
line(75,75,50,75);
line(50,75,25,50);
boundary_fill(51,51,4,0);
getch();
closegraph();
}
void boundary_fill(x,y,fill_color, b_color)
{
if(getpixel(x,y)!= fill_color &&
getpixel(x,y)!= b_color)
{
delay (1);
putpixel(x,y,fill_color);
boundary_fill(x+1,y,fill_color, b_color);
boundary_fill(x-1,y,fill_color, b_color);
boundary_fill(x,y+1,fill_color, b_color);
boundary_fill(x,y-1,fill_color, b_color);
}
}
OUTPUT: