边界表示的4连通区域的递归填充算法
#include<stdio.h>
#include<graphics.h>
void BoundaryFill4(int x,int y,int boundarycolor,int newcolor)
{ int color; /*color怎么取值*/
if(color!=newcolor && color!=boundarycolor)
{putpixel(x,y,newcolor);
BoundaryFill4 (x,y+1, boundarycolor,newcolor);
BoundaryFill4 (x,y-1, boundarycolor,newcolor);
BoundaryFill4 (x-1,y, boundarycolor,newcolor);
BoundaryFill4 (x+1,y, boundarycolor,newcolor);
}
}
main()
{
int gdriver=DETECT, gmode;
int x1=160,y1=60,r1=60;
initgraph(&gdriver, &gmode," ");
circle(x1,y1,r1);
BoundaryFill4(x1,y1,getbkcolor(),RED);
getch();
closegraph();
}
请大家看看啊,谢谢
----------------解决方案--------------------------------------------------------
不好意思。实力差,图形的俺一窍不通。
----------------解决方案--------------------------------------------------------
应该是获得当前点的颜色
----------------解决方案--------------------------------------------------------
斑主帮我调试一下啊,我刚做时就是那样做的,不过画不出图形来啊,谢谢
----------------解决方案--------------------------------------------------------
边界色应该是你的作图色,而不是getbkcolor();因为你图形内部也是背景色
----------------解决方案--------------------------------------------------------
怎么没有人帮我解决了
----------------解决方案--------------------------------------------------------