【问题标题】:About implement FloodFill algorithm in Object C关于在 Object C 中实现 FloodFill 算法
【发布时间】:2013-01-08 10:03:03
【问题描述】:

我是 IOS 的新手,我正在为 iPhone 和 iPad 开发一个有趣的绘画应用程序,它使用 Object - C。

该应用程序将允许您触摸图像,然后它会用您选择的颜色(油漆桶工具)用您触摸的像素填充所有接近且相同颜色的像素。

我知道 Floodfill 算法是我需要的,但我真的很困惑如何实现 FloodFill 算法来填充我想要的区域的颜色。

我也看到that one,但它只有2个文件,没有任何描述,我尝试使用它,但我没有成功。

我想要的只是将图像(如that one)加载到 ImageView ,当我触摸 ImageView 时它会填充颜色。

【问题讨论】:

标签: iphone ios


【解决方案1】:

如果您使用 UIBezierPath 进行绘图,您可以使用它的 -fill 方法来填充形状。

【讨论】:

  • UIBezierPath 是否完全支持我可以制作油漆桶工具的目的!嗯...我刚刚进行了搜索,我在 IOS 文档中看到,它说“路径可以定义简单的形状,例如矩形、椭圆形和圆弧......”。但我认为这与我的问题无关。无论如何,谢谢 Diederik!
【解决方案2】:

你可以通过访问UIImage的CGImage来获取它的字节数据。

从中可以找到被触摸的像素的颜色。

那么这只是从被触摸的像素运行一个简单的洪水填充算法的例子。

获取像素颜色...How to get pixel data from a UIImage (Cocoa Touch) or CGImage (Core Graphics)?

洪水填充算法...http://en.wikipedia.org/wiki/Flood_fill

我可能会自己做这件事,而不是寻找框架或任何东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 2015-03-17
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    相关资源
    最近更新 更多