计算机图形学常用算法实现5 区域填充算法-递归形式

递归形式的区域填充算法的效率实在是太低了(就是裸的dfs),导致图形大一点就会爆栈,没有很大的实用性。
代码如下:

void floodFill4(int x,int y,int i)
{
    if (map[x, y] == false)
    {      
        g.FillRectangle(p, new RectangleF(x, y, 1, 1));
        map[x, y] = true;     
        floodFill4(x, y - 1,i+1);
        floodFill4(x, y + 1,i+1);
        floodFill4(x - 1,y,i+1);
        floodFill4(x + 1, y,i+1);
    }
}

效果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43813453/article/details/84575651
今日推荐