C:使用floodfill填充一个圆

C: Using floodfill to fill a circle

每当我执行下面这段代码时,整个屏幕都会充满红色的网格图案。我只想用红色填充圆形区域。

#include<graphics.h>
#include<conio.h>
void main(){
    int gm, gd=DETECT;
    initgraph(&gd,&gm,"c:\turboC3\bgi");
    circle(100,100,50);
    setfillstyle(HATCH_FILL,RED);
    floodfill(100,100,RED);
    getch();
    closegraph();
}

输出:

在行 floodfill(100,100,RED) 中,第三个参数必须是 边框的颜色 。默认情况下,您的圈子的边框颜色为 WHITE,因此请将您的代码更改为:

#include<graphics.h>
#include<conio.h>
void main(){
    int gm, gd=DETECT;
    initgraph(&gd,&gm,"c:\turboC3\bgi");
    circle(100,100,50);
    setfillstyle(HATCH_FILL,RED);
    //Change RED to WHITE.
    floodfill(100,100,WHITE);
    getch();
    closegraph();
}

多亏了你,我今天学到了新东西。 :)