setfillstyle() and floodfill() in C

The header file graphics.h contains setfillstyle() function which sets the current fill pattern and fill color. floodfill() function is used to fill an enclosed area. Current fill pattern and fill color is used to fill the area.

Syntax :

void setfillstyle(int pattern, int color)

void floodfill(int x, int y, int border_color)

Examples :

Input : pattern = HATCH_FILL, Color = RED 
        circle : x = 250, y = 250, radius = 100 
        floodfill : x = 250, y = 250, border color =15
Output : 


Input : pattern = LTSLASH_FILL, Color = RED
       rectangle : left = 200, top = 200, right = 450, bottom = 450
       floodfill : x = 201, y = 201, border_color = 15
Output :

Below is the table showing INT VALUES corresponding to Colors :

COLOR               INT VALUES
-------------------------------
BLACK                   0
BLUE                    1
GREEN                   2
CYAN                    3   
RED                     4
MAGENTA                 5
BROWN                   6 
LIGHTGRAY               7 
DARKGRAY                8
LIGHTBLUE               9
LIGHTGREEN             10
LIGHTCYAN              11
LIGHTRED               12
LIGHTMAGENTA           13
YELLOW                 14
WHITE                  15

Below is the table showing INT VALUES corresponding to Patterns :



PATTERN              INT VALUES
-------------------------------
EMPTY_FILL               0
SOLID_FILL               1
LINE_FILL                2
LTSLASH_FILL             3   
SLASH_FILL               4
BKSLASH_FILL             5
LTBKSLASH_FILL           6 
HATCH_FILL               7 
XHATCH_FILL              8
INTERLEAVE_FILL          9
WIDE_DOT_FILL           10
CLOSE_DOT_FILL          11
USER_FILL               12

Below is the implementation for setfillstyle() and floodfill() function :

filter_none

edit
close

play_arrow

link
brightness_4
code

// C Implementation for setfillstyle
// and floodfill function
#include <graphics.h>
  
// driver code
int main()
{
    // gm is Graphics mode which is 
    // a computer display mode that
    // generates image using pixels.
    // DETECT is a macro defined in
    // "graphics.h" header file
    int gd = DETECT, gm;
      
    // initgraph initializes the 
    // graphics system by loading
    // a graphics driver from disk
    initgraph(&gd, &gm, " ");
  
    // center and radius of circle
    int x_circle = 250;
    int y_circle = 250;
    int radius=100;
      
    // setting border color
    int border_color = WHITE;
      
      
    // set color and pattern
    setfillstyle(HATCH_FILL,RED);
      
    // x and y is a position and
    // radius is for radius of circle
    circle(x_circle,y_circle,radius);
      
    // fill the color at location 
    // (x, y) with in border color
    floodfill(x_circle,y_circle,border_color);
  
    getch();
      
    // closegraph function closes the
    // graphics mode and deallocates
    // all memory allocated by 
    // graphics system 
    closegraph();
      
    return 0;
}

chevron_right


Output:


Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


2


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.