Превращение рисунка от руки в UIImageView в маску

Я делаю приложение, которое позволяет пользователю рисовать объект / человека на изображении, которое я затем хочу использовать в качестве маски, чтобы размыть фон изображения.

Я использую следующий код, чтобы позволить пользователю рисовать на изображении, которое находится над изображением с изображением, которым нужно манипулировать:

mouseSwiped = YES;
UITouch *touch = [touches anyObject];
CGPoint currentPoint = [touch locationInView:self.view];

UIGraphicsBeginImageContext(self.view.frame.size);
[self.drawImage.image drawInRect:CGRectMake(0,0,self.view.frame.size.width, self.view.frame.size.height)];
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), brush);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), red, green, blue, 1.0);
CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeNormal);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), firstPoint.x, firstPoint.y);
CGContextSetFillColorWithColor(UIGraphicsGetCurrentContext(), [UIColor blackColor].CGColor);
CGContextFillPath(UIGraphicsGetCurrentContext());
CGContextStrokePath(UIGraphicsGetCurrentContext());


self.drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
[self.drawImage setAlpha:opacity];

Это работает отлично и достигает желаемого результата, и я могу сохранить это изображение в приложении по своему усмотрению.

Однако я хочу иметь возможность сделать рисунок в маске, чтобы потом применить его к исходному изображению и размытому изображению, чтобы объект под маской оказался в фокусе.

Есть ли способ, которым я могу превратить рисунок в маску?

0 ответов

Другие вопросы по тегам