Tag: 泛洪填充

执行FloodFill的不同方法

好的,我有几种不同的方法来执行FloodFill。 所有这些都会导致问题。 我将列出3种方法并解释每种方法会发生什么。 如果有人能给我一些很棒的指示。 我见过一些类似的post,但没有一个是C#,java或VB.net(我知道的唯一语言)。 对此的给予是我有一个名为PixelData的类,它将一个Color存储在CellColor成员变量中。 我有一个50×50 PixelData对象的数组,称为“像素”。 我也有一个名为CANVAS_SIZE的常量,在这种情况下为50。 以下是我尝试过的三种方法。 这个是递归的。 它非常容易出现堆栈溢出。 我已经尝试设置一个计时器,在此方法完成后启用CanFill成员。 这仍然不能防止溢出: private void FloodFill(Point node, Color targetColor, Color replaceColor) { //perform bounds checking X if ((node.X >= CANVAS_SIZE) || (node.X = CANVAS_SIZE) || (node.Y < 0)) return; //ouside of bounds //check to see if the node is the target color if (pixels[node.X, […]

洪水填充算法

这是周末,这意味着我可以玩我的爱好项目了 。 我已经厌倦了手工创建测试级别,所以我想我会从引擎开发中rest并在级别编辑器上工作: 关卡编辑http://gfilter.net/junk/Editor.JPG 我想在编辑器中实现泛洪填充算法,就像在绘图程序中一样。 有没有人有任何关于哪种技术对我有用的指针? 级别只是一个2d数组,因此可以认为它与位图相同。 谢谢!