Я пробую несколько экспериментальных изображений на ipad и пытаюсь сохранить colordata каждого пикселя в одном массиве, чтобы повысить производительность при чтении colordata каждого пикселя,
прямо сейчас у меня есть таймер, который вызывает мой 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), чтобы завершить один образ, есть ли что-нибудь быстрее / улучшения?
Спасибо!
Thys