iPhone石英绘图橡皮擦

BDG*_*pps 3 iphone drawing quartz-graphics ipad ios

我正在尝试使用擦除制作iPhone应用程序.我遇到了两个问题,如果你有任何一个解决方案,请回答这个问题.我想删除部分图像.

1)我目前只是清除矩形,但它有一个方形边缘.我希望它是圆的,我之前尝试过翻译,但这不起作用.我还需要它尽可能少地翻译/旋转以保持相同的性能.

2)另外我想知道是否还有其他擦除方法.当快速擦除时,它会擦掉1/2英寸.有没有办法抚摸一条路径并清除矩形或什么东西?对不起,如果这很难理解.

CGRect circleRect = CGRectMake([touch CGPointValue].x, [touch CGPointValue].y, 25, 25);
CGContextClearRect(currentContext,circleRect);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Eri*_*eid 5

这段代码应该做你想要的:

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, self.strokeWidth);
CGContextSetBlendMode(context, kCGBlendModeClear);
CGContextSetStrokeColorWithColor(context, [[UIColor clearColor] CGColor]);
CGContextBeginPath(context);
CGContextMoveToPoint(context, lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(context, currentPoint.x, currentPoint.y);
CGContextStrokePath(context);     
CGContextFlush(context);
Run Code Online (Sandbox Code Playgroud)

关键点是

1)CGContextSetLineCap(context, kCGLineCapRound),这使它成为圆形

2)CGContextSetBlendMode(context, kCGBlendModeClear)清除背景.