Here is implementation of Boundary Fill Algorithm in C++.
#include<iostream.h> #include<conio.h> #include<graphics.h> #include<dos.h> void ffill(int x,int y,int b_color,int n_color) { if(getpixel(x,y)==b_color&&getpixel(x,y)!=n_color) { putpixel(x,y,n_color); ffill(x+1,y,b_color,n_color); ffill(x,y+1,b_color,n_color); ffill(x,y-1,b_color,n_color); ffill(x-1,y,b_color,n_color); ffill(x+1,y+1,b_color,n_color); ffill(x-1,y-1,b_color,n_color); ffill(x-1,y+1,b_color,n_color); ffill(x+1,y-1,b_color,n_color); } } void main() { int gdriver = DETECT, gmode, errorcode; initgraph(&gdriver, &gmode, "C:\\bgi"); rectangle(50,50,100,100); ffill(55,55,0,3); getch(); }
Output: