在WPF(C#)中有一种简单的方法来翻译PathGeometry吗?
有一个PathGeometry(System.Windows.Media)和一个Vector(System.Windows.Vector)我想翻译整个Geometry,而不需要用它们的Segments和相应的Points分析每个图。代码非常简单,但我正在寻找一种使用WPF(C#)已经提供的标准功能的方法。有什么想法吗?
答案 0 :(得分:7)
将几何的Transform
属性设置为适当的TranslateTransform
,例如
Geometry geometry = ...
Vector translation = ...
geometry.Transform = new TranslateTransform(translation.X, translation.Y);
答案 1 :(得分:1)
在环顾四周之后,我找到了解决自己问题的方法:
public PathGeometry TranslatePathGeometry(PathGeometry originalGeometry, Vector translationVector)
{
originalGeometry.Transform = new TranslateTransform(translationVector.X, translationVector.Y);
return PathGeometry.CreateFromGeometry(originalGeometry);
}
我使用Geometry.Combine方法找到了其他选项,但我觉得这个解决方案更优雅。
正如Clemens所解释的,创建一个新的GeometryPath甚至没有必要,你只需应用TranslateTransform就可以完美地工作。