Hri*_*sto 2 core-graphics objective-c flood-fill uiimage ios
我正在尝试对具有不透明度的UIImage执行floodfill.我尝试用CG(http://en.wikipedia.org/wiki/Flood_fill)实现4路洪水填充,但读取像素颜色和着色像素会使它太慢.填充300x100px区域需要一分多钟.我需要一个像以下的功能:
-(UIImage*)floodFillOnImage:(UIImage*)image fromPoint:(CGPoint)start;
Run Code Online (Sandbox Code Playgroud)
这够快了.
有没有人在Objective-C中使用UIImages进行泛洪填充算法的工作实现或想法?我在一些iOS绘图应用程序中看到过这样的油漆桶工具.
如果花费超过一分钟来填充300×100图像,则获取和设置像素值的实现可能效率极低.如果将图像绘制到位图上下文中,然后直接访问(并修改)像素数据,则应该快得多.
基本方法是分配一个内存缓冲区(4个(rgba)×宽度×高度字节的C数组),将其传递给CGBitmapContextCreate,将源图像绘制到上下文中(例如使用CGContextDrawImage),然后直接在缓冲区上操作(像素值).完成后,您可以使用上下文创建图像CGBitmapContextCreateImage.
| 归档时间: |
|
| 查看次数: |
2467 次 |
| 最近记录: |