鉴于我有CGPathRef
或UIBezierPath
或其他等效的iOS表示,是否有内置的库函数可以用来为我计算此对象的剪辑?
注意为了澄清,我不要求能够绘制剪切路径。我想获得一个实际的剪切路径,作为一条新路径。
答案 0 :(得分:1)
查看我对this other question的类似答案。我写了一个库,可以让你计算任意两个UIBezierPath之间的交叉点,并计算它们之间的剪切路径。该库位于https://github.com/adamwulf/ClippingBezier。
虽然其他问题涉及形状的交集,但您也可以简单地将两条路径分成组件。
NSArray* clippedPathSegments = [UIBezierPath redAndGreenAndBlueSegmentsCreatedFrom:path1 bySlicingWithPath:path2 andNumberOfBlueShellSegments:NULL];
该方法有一个尴尬的名称,它在内部用于更好的命名uniqueShapesCreatedFromSlicingWithUnclosedPath:
方法,但应该做你想要的。