Попробуйте использовать следующий код
import matplotlib as plt
% matpllotlib inline
Вы могли попытаться использовать Геометрию. Объединение. Это применяет преобразование во время объединения. Одна выгода - то, что Объединение только работает, если Ваша Геометрия имеет область, таким образом, одни строки не будут работать.
Вот образец, который работал на меня.
PathGeometry geometry = new PathGeometry();
geometry.Figures.Add(new PathFigure(new Point(10, 10), new PathSegment[] { new LineSegment(new Point(10, 20), true), new LineSegment(new Point(20, 20), true) }, true));
ScaleTransform transform = new ScaleTransform(2, 2);
PathGeometry geometryTransformed = Geometry.Combine(geometry, geometry, GeometryCombineMode.Intersect, transform);
Я нашел решение, с которым произвольное преобразование может быть применено к геометрии пути благодаря ответу Todd White:
В основном Геометрия. Объединение используется для объединения желаемой геометрии с Геометрией. Пустое Объединение использования и желаемое преобразование даны. Получающаяся геометрия преобразовывается с данным преобразованием.
PathGeometry geometryTransformed = Geometry.Combine(Geometry.Empty, geometry, GeometryCombineMode.Union, transform);
К сожалению, я не думаю, что существует метод или свойство, чтобы сделать то, что Вы спрашиваете. По крайней мере, я не могу найти тот. (Большой вопрос!)
Кажется, что необходимо было бы сделать это вручную (поскольку Вы предлагаете себя)..., который является извещателем, Преобразовывают. Преобразуйте (Укажите на p) для каждой точки в Вашем PathGeometry... создающем новый PathGeometry в процессе.
Вероятно, не ответ, который Вы хотите. (Жалкая Усмешка)
Существует две вещи, которые необходимо рассмотреть:
У меня была та же проблема, И мне нужны линии (не только геометрия с площадью).
Я использую только PathGeometry, так что это может быть не общее решение, которым вы являетесь искал, но у меня это сработало:
pathgeometry.Transform = transform;
PathGeometry transformed = PathGeometry.CreateFromGeometry(pathgeometry);