2

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

4

2 回答 2

3

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

讨论Apple 文档中的方法:

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

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

类似于下面:

CGContextRef context = UIGraphicsGetCurrentContext();

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

CGContextBeginPath(context);

CGContextAddPath(context, strokePath);
CGContextDrawPath(context, kCGPathStroke);
于 2016-08-30T20:22:47.920 回答
0

一旦路径位于上下文中,就无法删除它。只需在没有特定路径的情况下重绘即可。

于 2012-07-06T17:37:15.987 回答