gpt4 book ai didi

ios - 对 UIImage 执行 floodfill

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:08:51 36 4
gpt4 key购买 nike

我正在尝试对具有不透明度的 UIImage 执行填充。我尝试使用 CG(http://en.wikipedia.org/wiki/Flood_fill) 实现 4 向填充,但读取像素颜色和着色像素使其速度太慢。填满 300x100 像素的区域需要一分多钟。我需要这样的功能:

-(UIImage*)floodFillOnImage:(UIImage*)image fromPoint:(CGPoint)start;

这已经足够快了。

是否有人在 Objective-C 中实现了与 UIImages 一起使用的洪水填充算法的工作实现或想法?我在一些 iOS 绘图应用程序中看到过这样的油漆桶工具。

最佳答案

如果填充 300×100 图像需要一分钟多的时间,那么您获取和设置像素值的实现可能效率极低。如果将图像绘制到位图上下文中,然后直接访问(和修改)像素数据,速度应该快得多。

基本方法是分配一个内存缓冲区(一个 4 (rgba) × width × height 字节的 C 数组),将其传递给 CGBitmapContextCreate,将源图像绘制到上下文中(例如使用 CGContextDrawImage),然后直接对缓冲区(像素值)进行操作。完成后,您可以使用 CGBitmapContextCreateImage 从上下文中创建图像。

关于ios - 对 UIImage 执行 floodfill,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14385790/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com