C# 将RenderTransform应用于椭圆几何

C# 将RenderTransform应用于椭圆几何,c#,wpf,rendertransform,C#,Wpf,Rendertransform,我希望将RenderTransform的内容应用于EllipseGeometry的物理属性,这意味着EllipseGeometry的中心/半径x/半径y属性会随着变换的应用而改变。我这样做的原因是,我有一个绘图程序,您可以在其中绘制椭圆,并且在绘制之后,您可以缩放/旋转/平移椭圆,在引擎盖下,我将其作为原始路径对象(其“数据”属性是椭圆几何对象)上的渲染变换应用。现在,对于绘图程序中的其他几何图形(贝塞尔曲线、直线、圆弧等),在将数据保存到文件时,我使用以下方法应用渲染转换 Geomet

我希望将RenderTransform的内容应用于EllipseGeometry的物理属性,这意味着EllipseGeometry的中心/半径x/半径y属性会随着变换的应用而改变。我这样做的原因是,我有一个绘图程序,您可以在其中绘制椭圆,并且在绘制之后,您可以缩放/旋转/平移椭圆,在引擎盖下,我将其作为原始路径对象(其“数据”属性是椭圆几何对象)上的渲染变换应用。现在,对于绘图程序中的其他几何图形(贝塞尔曲线、直线、圆弧等),在将数据保存到文件时,我使用以下方法应用渲染转换

    Geometry clone = linePath.Data.Clone();
    clone.Transform = linePath.RenderTransform(); //Which is a TransformGroup in my case
    Geometry transformedGeometry = clone.GetFlattenedPathGeometry();
这给我留下了一个干净的几何体,其中应用了“线路径”的渲染变换。现在,我可以轻松地将此几何体的内容保存到“迷你语法”文件中,并在以后重新加载。我知道我可以使用同样的方法来进行EllipseGeometry,但是结果是一个近似的PathGeometry,它描述了转换后的EllipseGeometry,我不知道从文件重新加载数据时如何将结果转换回EllipseGeometry。目前,对于图形中的EllipseGeometry对象,我保存物理特性(中心/半径/etc),然后将相应的RenderTransform作为XAML字符串保存到文件中。然后在加载时,我只是从属性创建椭圆几何,并应用保存的RenderTransform

现在,这种方法是可行的,但我觉得保存转换后的椭圆几何体会更干净,就像我在其他几何体中所做的那样。在我的应用程序的其他地方,我也使用了RenderTransforms作为Ellipsegometry的物理转换,解决方法越来越难看,所以我想确定一个实现这一点的过程(如果可能的话)

提前谢谢

编辑: 为了让问题更开放一点,我不打算使用椭圆几何,因为我不知道如何使用椭圆几何来描述渲染变换(即旋转)中可能出现的所有不同变换。所以,如果有其他方式或其他几何可以用来提供“类似椭圆”的行为,我肯定有兴趣听一听