objective-c - objective-c : save image pixel RGB values to Array

标签 objective-c arrays ipad colors

我正在 ipad 上尝试一些实验性图像,并且尝试将每个像素的颜色数据存储到一个数组中,以提高读取每个像素颜色数据的性能,

现在我有一个计时器尽可能多地调用我的DrawRect,在我的DrawRect函数中我有这个:

-(void)drawRect:(CGRect)rect
{
    UIGraphicsBeginImageContext(self.frame.size);
    [currentImage.image drawInRect:CGRectMake(0, 0, 768, 1004)];
    CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 0.3);  

    r_x = r_x + 1;

    if (r_x == 768) {
        r_x = 1;
        r_y = r_y + 1;
    }
    if (r_y == 1004) {
        NSLog(@"color = %@", mijnArray_kleur);
    }
    CGPoint point2_1 = CGPointMake(r_x, r_y);
    GetColor *mycolor = [GetColor alloc];
    UIColor *st = [mycolor getPixelColorAtLocation:point2_1];
    [mijnArray_kleur addObject:st];
    [mycolor release];
    CGContextSetFillColorWithColor(UIGraphicsGetCurrentContext(), [st CGColor]);

    CGContextFillRect(UIGraphicsGetCurrentContext(), CGRectMake(r_x,r_y,1,1));
}

而 getPixelColorAtLocation 是一个自定义类,它返回像素的 UIDeviceRGBColorSpace 值

这样我需要大约 4 个小时(是的,几个小时:p)才能完成一张图像,有什么更快/改进的地方吗?

谢谢!

蒂斯

最佳答案

[为清楚起见,从评论中复制] 我根本不了解 Objective C,但在我看来,您的函数迭代了 768 * 1004 个值,因此绘制了那么多矩形。猜测大约 60 帧/秒,这将需要 3 小时 40 分钟。我这里错了吗?

关于objective-c - objective-c : save image pixel RGB values to Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5596051/

相关文章:

objective-c - XCode 堆快照非对象增加导致内存崩溃

objective-c - 后代作为 parent 的代表

java - 在 Java 中创建一副纸牌时出现 ArrayIndexOutOfBoundsException

javascript - 逐个填充时删除数组中的重复对象

经过数小时调试后的 iOs 内存警告

ios - 如何修复 UITableView 中的重复搜索结果

iphone - 为什么我的表格 View 单元格在使用 reloadRowsAtIndexPaths 重新加载时消失?

c++ - for 循环未运行,试图向后遍历数组元素

iOS OpenGL ES 屏幕旋转,同时后台应用栏可见

ios - 如何使用 Google Analytics 确定确切的 iOS 版本