IOS: цвет с рисунком рисунка - PullRequest
0 голосов
/ 20 марта 2012

У меня есть этот код для окраски с помощью простой линии:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
mouseSwiped = YES;

UITouch *touch = [touches anyObject];   
CGPoint currentPoint = [touch locationInView:drawImage];

UIGraphicsBeginImageContext(drawImage.frame.size);
[drawImage.image drawInRect:CGRectMake(0, 0, drawImage.frame.size.width, drawImage.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 15.0);


//eraser
/*
if (eraser){
    CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0, 0, 0, 0);
    CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeCopy);
}*/

CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0, 0, 0, 1.0); //black

CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
drawImage.image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

lastPoint = currentPoint;
}

с помощью этого кода я могу раскрасить вид или изображение;Я могу выбрать цвет и размер;но теперь я хочу использовать определенный шаблон, чтобы раскрасить это представление;конкретный png для использования при вызове touchmoved;ты можешь мне помочь?

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

Проверьте https://stackoverflow.com/a/707329/108574, если хотите нарисовать узор (мозаичные изображения).

Однако вы делаете это неправильно в своем коде. Вы не должны рисовать в графическом контексте во время событий пользовательского интерфейса. Процедуры рисования должны быть внутри - (void)drawRect:(CGRect)rect экземпляра UIView. Когда событие пользовательского интерфейса обновляет графику, вы записываете новое состояние где-то, а затем отправляете сообщение - (void)setNeedsDisplay экземпляру UIView для перерисовки.

1 голос
/ 29 мая 2013

Попробуйте colorWithPatternImage:

Создает и возвращает цветной объект, используя указанное изображение.

+ (UIColor *)colorWithPatternImage:(UIImage *)image

(ссылка)

...