假设我有一个 CGPath,它是 CGContextRef 中的一个圆圈。我想做的是用颜色填充路径的倒数。下面演示了圆圈是绘制的当前路径,我想用颜色填充圆圈的反面,留下一个空洞:
问问题
1252 次
2 回答
1
首先将矩形添加到路径,然后将圆圈(或任何路径)添加到同一路径。然后做一个奇偶填充,它不会填充圆,因为圆和矩形都覆盖了圆。
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddRect(path, NULL, bigRect); // add the big rect
CGPathAddPath(path, NULL, circlePath); // add your shape (the circle)
CGContextDrawPath(path, kCGPathEOFill); // even-odd fill
于 2013-10-07T18:00:16.953 回答
1
由于您有重叠的圆圈,您需要创建一个代表这些圆圈联合的路径,然后将该路径添加到您的矩形并按照大卫的建议进行填充。
为了创建圆形路径的联合,这个项目将被证明是无价的:
https://bitbucket.org/martinwinter/vectorbooleancg
确保您检查了“CGPath”分支以获得 iOS 支持。
于 2013-10-07T18:29:53.557 回答