У меня есть PathGeometry, определяющая такой путь, как этот:
исходный путь http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/original.gif
Это упрощенный пример. В действительности он может иметь сегменты любого типа (Линия, Дуга, Безье).
Теперь мне нужно вырезать отверстие некоторого вида и размера (квадрат, круг и т. Д.) В точках соединения сегментов, чтобы конечный результат выглядел примерно так:
с отверстиями http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/with_holes.gif
Моя первоначальная идея состояла в том, чтобы объединить исходную PathGeometry с другой Geometry, содержащей квадраты (или что-либо еще) в точках соединения, используя GeometryCombineMode.Exclude. К сожалению, это дает пустую геометрию, если путь не заполнен. И если он заполнен, он дает неправильный результат.
Так что я застрял. В простом примере с отрезками линий я мог бы рассчитать точки границы заранее и завершить свои отрезки, но с дугами и Безье это было бы излишним.
У кого-нибудь есть идеи, как этого добиться?
Примечание: мне нужно стереть эти отверстия (прозрачные), поэтому размещение белого квадрата над ним не поможет.