User Tools

Site Tools


c:graphics.h:floodfill

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

c:graphics.h:floodfill [2015/05/06 23:06]
c:graphics.h:floodfill [2024/02/16 01:05] (current)
Line 1: Line 1:
 +===== floodfill =====
 +
 +
 +====Syntax of floodfill ==== 
 + <code c>
 +#include <graphics.h>
 +void floodfill(int x, int y, int border);
 +  </code>
 +
 +
 +==== Description of floodfill ==== 
 +<code c>
 +floodfill fills an enclosed area on bitmap devices. (x,y) is a "seed
 +point" within the enclosed area to be filled. The area bounded by the
 +color border is flooded with the current fill pattern and fill color. If
 +the seed point is within an enclosed area, the inside will be filled. If
 +the seed is outside the enclosed area, the exterior will be filled.
 +Use fillpoly instead of floodfill whenever possible so that you can
 +maintain code compatibility with future versions.
 +floodfill does not work with the IBM-8514 driver.
 +</code>
 +
 +
 +==== Example of floodfill ====
 +<code c>
 +/* floodfill example */
 +
 +#include <graphics.h>
 +#include <stdlib.h>
 +#include <stdio.h>
 +#include <conio.h>
 +
 +int main(void)
 +{
 +   /* request autodetection */
 +   int gdriver = DETECT, gmode, errorcode;
 +   int maxx, maxy;
 +
 +
 +   /* initialize graphics and local variables */
 +   initgraph(&gdriver, &gmode, "");
 +
 +   /* read result of initialization */
 +   errorcode = graphresult();
 +   if (errorcode != grOk) {  /* an error occurred */
 +printf("Graphics error: %s\n", grapherrormsg(errorcode));
 +
 +printf("Press any key to halt:");
 +getch();
 +exit(1);   /* terminate with an error code */
 +   }
 +
 +   maxx = getmaxx();
 +   maxy = getmaxy();
 +
 +   /* select drawing color */
 +   setcolor(getmaxcolor());
 +
 +
 +   /* select fill color */
 +   setfillstyle(SOLID_FILL, getmaxcolor());
 +
 +   /* draw a border around the screen */
 +   rectangle(0, 0, maxx, maxy);
 +
 +   /* draw some circles */
 +   circle(maxx / 3, maxy /2, 50);
 +   circle(maxx / 2, 20, 100);
 +
 +   circle(maxx-20, maxy-50, 75);
 +   circle(20, maxy-20, 25);
 +
 +   /* wait for a key */
 +   getch();
 +
 +   /* fill in bounded region */
 +   floodfill(2, 2, getmaxcolor());
 +
 +   /* clean up */
 +   getch();
 +   closegraph();
 +   return 0;
 +}
 +</code>
 +
 +
 +==== See also ====
 +[[drawpoly]]
 +[[fillpoly]]
 +[[graphresult]]
 +[[setcolor]]
 +[[setfillstyle]]
 +
 +
 +===== output of floodfill example ===== 
 +
 +    no output of example at the moment
 +    do not hesitate and add it...  
 +
 +
  

on the occasion of the current invasion of Russia in Ukraine

Russian Stop this War

Impressum Datenschutz