具有给定颜色的IoS Cocoa填充区域

时间:2012-04-04 16:32:19

标签: ios cocoa uikit quartz-graphics appkit

我尝试为给定的位图区域着色。在屏幕上显示后。 目前我使用以下方法: 有代表位图CGContextRef和二维位数组 - 通过它我们知道要着色的像素。然后循环抛出这个数组并绘制一个椭圆:

for(int i = 0; i < width; i++){
    for(int j = 0; j < height; j++){
        if(colormask[i][j] == 1){
            CGRect circleRect = CGRectMake(i, j, 1, 1);
            CGContextSetRGBFillColor(bitmap, red, green, blue, 1.0);
            CGContextFillEllipseInRect(bitmap, circleRect);
        }
    }
 }

这解决了问题,但效果太慢。请提供任何其他想法。也许有使用Quartz的解决方案?

1 个答案:

答案 0 :(得分:1)

您可以使用Flood fill Algorithm为图像着色,这将非常快速有效。 Objective-c版本的泛洪填充算法为Here