iOS - 如何在指定区域填充颜色

11

当我点击某个位置时,在指定区域内填充绿色,如下图所示:

like this

以及这个:

enter image description here

单击其中一个鱼,两个鱼都变成红色。

目前我只能使用扫描线种子填充算法来识别封闭区域,但无法识别多个区域。

像这样的珊瑚,单击一次即可填充多个区域。

如果有人能提供解决方案,那太好了,谢谢。(英语不是我的母语,请原谅输入错误。)

-----------------------------------------------------------

我有一个简陋的想法。

  1. 先在耳朵上找到两个种子点(A和B)。
  2. 点击图片,如果发现堆栈中包含种子点A,则调用方法floodFill(from: B)继续。

但我不知道如何在这个演示中实现如果发现堆栈中包含种子点A

img


使用油漆桶库。 - dahiya_boy
你能发个链接给我吗?我没找到。 @dahiya_boy - make
https://github.com/Chintan-Dave/UIImageScanlineFloodfill 是一种泛洪填充的方法。https://github.com/jflinter/PaintBucket 是@dahiya_boy提到的油漆桶工具。 - Vollan
谢谢你的链接,但对我没有用。因为图片只能点击一次。 - make
浏览一下,这与https://dev59.com/K67la4cB1Zd3GeqPh7q5#52586986类似。 - Shivam Gaur
1个回答

12

我已解决了问题,这是一个演示

这个解决方案需要在叶子上固定两个种子点。 当一个种子点被触发着色时,另一个也在着色。 展示

如果有更好的解决方案,请告诉我。


你好,Make,请查看下面的网址 https://github.com/Chintan-Dave/UIImageScanlineFloodfill - Paresh Patel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接