0

我一直在尝试在 javascript 中创建一个 MS 绘画克隆。一切似乎都很完美,直到我考虑了填充桶工具。我使用的是 processing.js 库,基本上我使用的是内置的形状(椭圆、矩形和线)来绘制。我所做的是将用户绘制的每个形状的“类型”存储在一个数组中并相应地渲染它们。所以如果 shape[i]==1,那么它是一条线,shape[i]=2,它是一个椭圆等等。我这样做是为了按顺序呈现形状。即最后绘制的形状是在所有其他形状之上绘制的。

显然,这种方法不会让我有一个填充桶工具(可能是因为我不知道该怎么做)。我做了一些研究,发现我将不得不使用洪水填充算法。该算法涉及使用大量队列、堆栈和节点等。在我深入研究并考虑实际实现它之前,我想知道我是否必须取消我在这里所做的“存储在数组中”的概念。以及如何将像素表示为“节点”?因为根据洪水填充的维基百科条目,我会使用“节点”来做很多事情。任何想法/资源?

4

1 回答 1

2

解决了。无需重组。而且我不必使用节点或任何东西。我所要做的就是将相同颜色的像素推送并弹出到堆栈中。我在这里找到了我正在寻找的东西:

http://www.williammalone.com/articles/html5-canvas-javascript-paint-bucket-tool/

于 2013-02-20T06:07:59.753 回答