Прежде всего хочу сказать, что я новичок в objective-c.
пока знаю, что у меня есть приложение, которое просто рисует одно изображение (это изображение .png, имеющее 3 цвета: красный, зеленый, синий). приложение рисует линии по всему изображению.
я хочу рисовать линии только одним цветом (например, красным), даже если касание (мышь) поднимает другие цвета. (... как я читал в Интернете, это должно быть сделано с использованием алгоритма заливки)
не могли бы вы дать мне несколько идей о том, как это сделать?
код, который я использую сейчас:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
mouseSwiped = YES;
UITouch *touch = [touches anyObject];
currentPoint = [touch locationInView:self.view];
UIGraphicsBeginImageContext(CGSizeMake(320, 568));
[drawImage.image drawInRect:CGRectMake(0, 0, 320, 568)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0, 2, 0, 2);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
[drawImage setFrame:CGRectMake(0, 0, 320, 568)];
drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
lastPoint = currentPoint;
[self.view addSubview:drawImage];
}
спасибо заранее.
CGContextRef context = UIGraphicsGetCurrentContext();
сделает это намного более читаемым - person trapper   schedule 08.11.2012