今天的问题涉及洪水填充algorythm。我想要做的是在闪光灯中制作一个类似于油漆的绘图应用程序,从某种意义上说它可以让你用从颜色选择器中选择的颜色绘制线条,它可以让你删除使用橡皮擦绘制的部分内容(它真的用白色涂料),它可以让你填充你用颜色制作的形状。
嗯,最后一部分是我需要帮助的。我已经用伪代码写了一个版本的泛洪填充algorythm,我想让你们在我进入并开始编码之前对它进行审查,这可能是根本上有缺陷的。
我们有2种颜色,所选像素的颜色和我们在颜色选择器中选择的颜色。
我想制作一个FLOOD函数,它将鼠标的X和Y位置以及颜色选择器颜色作为变量。
步骤1。将选定像素的颜色值保存在名为原始颜色的变量中。
步骤2。为颜色选择器颜色中的选定像素着色
步骤3。
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。 DONE