Как обрезать или вычесть CGMutablePathRf другим CGMutalbePathRef?

У меня есть прямоугольный CGMutablePathRef, и я хочу вычесть круг, который лежит точно по центру на одном краю этого прямоугольника, чтобы край больше не пересекал круг.

Кажется, нет никаких функций для пересечения или вычитания путей из другого. Как мне это сделать?


person Proud Member    schedule 15.06.2011    source источник


Ответы (1)


Вам нужно посмотреть на CGContext, в который вы рисуете, и использовать отсечение контекста, а не пути. Документация Apple здесь.

Если я понимаю ваш вопрос, вы можете нарисовать свой прямоугольник в контексте, а затем «вырезать» круговой путь. Если вы заполняете дорожки, вам нужно обратить внимание на правила намотки.

Кроме того, вы можете создать свой путь с помощью ряда команд, таких как CGPathAddLineToPoint, CGPathAddArcToPoint и т. д., а затем добавить путь в своем контексте. Если вы используете этот подход, вы можете затем применить преобразования к конечному пути для масштабирования и поворота по мере необходимости. В зависимости от того, чего вы пытаетесь достичь, это может быть лучшим подходом.

person Chip Coons    schedule 27.06.2011