Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标c:将图像像素RGB值保存到阵列_Objective C_Arrays_Ipad_Colors - Fatal编程技术网

Objective c 目标c:将图像像素RGB值保存到阵列

Objective c 目标c:将图像像素RGB值保存到阵列,objective-c,arrays,ipad,colors,Objective C,Arrays,Ipad,Colors,我正在ipad上尝试一些实验性的imagestuff,我试图将每个像素的颜色数据存储到一个阵列中,以提高读取每个像素颜色数据的性能 现在,我有一个计时器,它尽可能多地调用我的DrawRect,在我的DrawRect函数中,我有以下内容: -(void)drawRect:(CGRect)rect { UIGraphicsBeginImageContext(self.frame.size); [currentImage.image drawInRect:CGRectMake(0, 0

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

现在,我有一个计时器,它尽可能多地调用我的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是一个自定义类,它返回像素的UIDeviceRbColorSpace值

有了这个,我花了大约4个小时(是的,小时:p)来完成一张图片,有没有更快/更好的地方

谢谢


Thys

[为了清晰起见从注释中复制]我根本不知道目标C,但在我看来,你的函数迭代了768*1004个值,因此画了那么多矩形。估计大约60帧/秒,这需要3小时40分钟。我错了吗?

我根本不知道目标C,但在我看来,你的函数迭代了768*1004个值,因此画了那么多矩形。估计大约60帧/秒,这需要3小时40分钟。我错了吗?请回答,请随意投票(接受)。是的,你说得对,我在我的函数中添加了一个for循环:for(int k=0;k<1000;k++{…},现在只需要10分钟左右,谢谢:)