我正在尝试通过擦除制作iPhone应用程序。我遇到了2个问题,如果您有一个解决方案,请回答此问题。我想删除图像的一部分。

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

2)另外,我想知道是否还有其他擦除方法。快速擦除时,它会擦除​​1/2英寸。有没有办法抚平道路并清理直肠或其他东西?抱歉,这很难理解。

CGRect circleRect = CGRectMake([touch CGPointValue].x, [touch CGPointValue].y, 25, 25);
CGContextClearRect(currentContext,circleRect);

最佳答案

这段代码应该可以满足您的需求:

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);

重点是

1)CGContextSetLineCap(context, kCGLineCapRound),使其变圆

2)CGContextSetBlendMode(context, kCGBlendModeClear)清除上下文。

10-05 22:22