使用泛洪算法填充圆形(C语言)

4
无论何时执行下面的代码,整个屏幕都会充满红色的网格图案。我只想用红色填充圆形区域。
#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();
}

输出:

在此输入图片描述

1个回答

6
在代码行 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();
}

感谢你,我今天学到了一件新事物。:)



1
现在可以工作了。非常感谢你的答案! - user3382203

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接