Tutorialspoint.dev

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 :

// 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;
}

Output:




This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter