В основе моей проблемы лежит то, что у меня есть куча геометрий (огромное количество, думаю, карта на большей площади), разделенная на несколько экземпляров геометрии wpf (первоначально они были PathGeometry, но для уменьшения использования памяти I предварительно обработать их и создать StreamGeometries во время загрузки). Теперь я хочу создать плитки из этих геометрий.Обрезание произвольной геометрии wpf
В основном я хотел бы взять более крупный объект геометрии и «вырезать» его прямоугольник (моя плитка), чтобы получить несколько меньших геометрий. Что-то, как на картинке ниже:
Обратите внимание, что я хочу, чтобы результат новой геометрии, не рендеринга. Я знаю, что могу достичь визуальный результат: clip to a UIElement или по pushing a clip to a drawingvisual.
Я пробовал использовать Geometry.Combine с одним из аргументов, являющимся прямоугольником клипа, но я не могу заставить его делать то, что я хочу (обычно я получаю только возврат клипа или пустую геометрию, в зависимости от того, комбинированный режим, который я использую).
В качестве альтернативы,, если это невозможно сделать с помощью WPF, есть ли какой-либо другой (сторонний вариант) общий API геометрической конфигурации для .NET, который может выполнять такие операции? Или, может быть, это может быть реализовано с использованием других частей API геометрии WPF?
Вы использовали GeometryCombineMode.Intersect с Geometry.Combine? –
Я пробовал их все, и ни один из режимов не делал то, что я хотел. –