0

今天的问题涉及洪水填充算法。我想做的是在 Flash 中制作一个类似于绘画的绘图应用程序,从某种意义上说,它可以让您使用从颜色选择器中选择的颜色绘制线条,它可以让您擦除使用橡皮擦绘制的部分内容(它真的用白色涂抹)并且,它可以让你填充你用颜色制作的形状。

好吧,最后一部分是我需要帮助的地方。我已经用伪代码编写了洪水填充算法的一个版本,我希望在我开始编写可能存在根本缺陷的编码之前,你们可以对其进行审查。

我们有 2 种颜色,所选像素的颜色和我们在颜色选择器中选择的颜色。

我想创建一个函数 FLOOD,它将鼠标的 X 和 Y 位置以及颜色选择器颜色作为变量。

步骤1。将选定像素的颜色值保存在名为 original color 的变量中。

第2步。在颜色选择器颜色中为所选像素着色

第三步。

a)如果((mouse.x-1,mouse.y)的颜色==原始颜色),则泛滥(mouse.x-1,mouse.y,颜色选择器颜色)

b) if (color of (mouse.x+1,mouse.y)==original color), then flood(mouse.x+1,mouse.y,color picker color)

c) if (color of (mouse.x,mouse.y-1)==original color), then flood(mouse.x,mouse.y-1,color picker color)

d) if (color of (mouse.x,mouse.y+1)==original color), then flood(mouse.x,mouse.y,color picker color+1)

第4步。完毕

4

1 回答 1

1

你为什么不使用BitmapData.floodFill()

于 2013-10-22T09:47:27.723 回答