我正在开发一个简单的绘图应用程序,我需要一种算法来进行洪水填充。
用户工作流程将如下所示(类似于 Flash CS,只是更简单):
- 用户在工作区上绘制直线。这些被视为矢量,并且可以在绘制后选择和移动。
- 用户选择填充工具,然后单击绘图区域。如果该区域被各个方向的线包围,则对该区域应用填充。
如果在应用填充后移动线条,则填充区域会相应更改。
任何人都有一个好主意,如何实现这样的算法?主要任务基本上是确定一个点周围的线段。(并以某种方式存储此信息,以防线条被移动)
编辑:解释图像:(画布中当然可以有其他线条,这与填充算法无关)
EDIT2:更困难的情况:
EDIT3:我找到了一种用孔填充多边形的方法 http://alienryderflex.com/polygon_fill/,现在主要问题是,我如何找到我的多边形?