在WPF中转换一个PathGeometry

本文关键字:一个 PathGeometry WPF 转换 | 更新日期: 2023-09-27 18:16:30

是否有一种简单的方法在WPF (c#)中翻译PathGeometry ?

有一个PathGeometry (System.Windows.Media)和一个Vector (System.Windows.Vector),我想翻译整个几何体,而不需要分析每个单独的图形及其段和相应的点。代码非常直接,但我正在寻找一种使用WPF (c#)已经提供的标准功能的方法。什么好主意吗?

在WPF中转换一个PathGeometry

设置几何体的Transform属性为适当的TranslateTransform,例如

Geometry geometry = ...
Vector translation = ...
geometry.Transform = new TranslateTransform(translation.X, translation.Y);

在多看了一会儿之后,我找到了自己问题的解决方案:

public PathGeometry TranslatePathGeometry(PathGeometry originalGeometry, Vector translationVector)
{
   originalGeometry.Transform = new TranslateTransform(translationVector.X, translationVector.Y);
   return PathGeometry.CreateFromGeometry(originalGeometry);
}

我找到了使用几何的其他选项。组合方法,但我认为这个解决方案更优雅。

正如Clemens所解释的那样,甚至不需要创建一个新的GeometryPath,你可以只应用TranslateTransform,它将完美地工作。