将UIImageView中的徒手绘图转换为蒙版

时间:2013-02-25 16:33:29

标签: objective-c uiimageview cgcontext cgimagemaskcreate

我正在创建一个应用程序,让用户在图像中绘制一个对象/人物,然后我想将其作为一个蒙版,以模糊图像的背景。

我使用以下代码允许用户使用要操作的图像在图像视图上方绘制图像视图:

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 个答案:

没有答案