如何在应用剪切路径后确定某个点是否在路径内?

时间:2017-11-27 12:12:17

标签: ios swift core-graphics

我目前正在使用类似于显示by Rob's answer here的方法绘制角度渐变。我已经为CGContext添加了一个扩展来绘制一个角度渐变,并希望它能够处理剪切路径,这样调用者可以像fillPath(using:)这样的方法一样对待它。

我尝试在CGContext上使用func pathContains(CGPoint, mode: CGPathDrawingMode),在上下文返回的CGPath上使用func contains(CGPoint, using: CGPathFillRule, transform: CGAffineTransform)

这两个似乎都没有使用剪切路径,因此我的绘图超出剪裁区域。

有没有办法让路径已被剪切或当前剪切路径的副本,所以我也可以检查该路径中是否也包含像素?

1 个答案:

答案 0 :(得分:0)

您应该能够检查该点是否在未剪辑路径中,并检查该点是否在剪切路径内。剪切路径是剪切路径和路径的交点,因此一个点位于剪切路径内,只有它在未剪切路径内和剪切路径内。