在CGContext添加路径后删除路径

时间:2012-07-06 17:08:02

标签: ios cocoa cgcontext

我想知道在使用CGContextAddPath添加CGPath后,是否有办法从我的上下文中删除CGPath,以便我的绘图命令不再局限于之后的路径尺寸。

2 个答案:

答案 0 :(得分:2)

您应该使用CGContextBeginPath(...)从指定的上下文中删除以前添加的路径。

讨论来自Apple's documentation的方法:

  

图形上下文在任何时候都只能使用一个路径。如果在调用此函数时指定的上下文已包含当前路径,则Quartz会丢弃旧路径以及与之关联的任何数据。

     

当前路径不是图形状态的一部分。因此,保存和恢复图形状态对当前路径没有影响。

类似于以下内容:

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextAddPath(context, ellipsePath);
CGContextDrawPath(context, kCGPathFill);

CGContextBeginPath(context);

CGContextAddPath(context, strokePath);
CGContextDrawPath(context, kCGPathStroke);

答案 1 :(得分:0)

在上下文中无法删除路径。只是在没有特定路径的情况下重绘。