65,210
社区成员
发帖
与我相关
我的任务
分享
//定义一个填充色,和一个边界色
void far floodfill(int x,int y,int fillcolor,int bordercolor)
{
int color = getpixel(x,y); //得到当前像素颜色
//如果碰到边界,或是和填充色相同(可能已经被填过的),就结束.
if( color == bordercolor || color == fillcolor )
return;
//当前点写入颜色
putpixel(x,y,fillcolor);
//否则,递归
floodfill( x-1,y+1 ,fillcolor, bordercolor);
floodfill( x+1,y+1 ,fillcolor, bordercolor);
floodfill( x-1,y-1 ,fillcolor, bordercolor);
floodfill( x+1,y-1 ,fillcolor, bordercolor);
}