我想在iPad上的一些實驗imagestuff,我想每一個像素的colordata存儲到一個陣列來提高性能讀取每個像素colordata,目標C:圖像像素的RGB值保存到陣列
現在我有一個調用我的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)完成一幅圖像,有什麼更快/更好的?
謝謝!
蒂斯
不是說我知道目標C,但是在我看來,像你的函數重複超過768 * 1004的值,從而繪製了許多矩形。猜測約60幀/秒,這將需要3小時40分鐘。我錯了嗎? – Darhuuk 2011-04-08 14:20:26
你是100%正確:) – RecycleRobot 2011-04-08 15:04:21
作出答案,隨時投票和接受;)。 – Darhuuk 2011-04-08 15:26:22