【问题标题】:WPF; Convert between Path Markup Syntax and Geometry in code behindWPF;在后面的代码中在路径标记语法和几何之间转换
【发布时间】:2014-10-11 09:10:27
【问题描述】:

我正在寻找路径标记和几何图形之间的转换。我找到了一个很好的post,它展示了如何从路径标记中获取几何图形:

几何路径标记语法

string pathMarkup = "M 100,200 C 100,25 400,350 400,175 H 280";
Geometry myGeometry = Geometry.Parse(pathMarkup);

几何到路径标记语法

现在,如果我想从现有几何图形中获取路径标记怎么办?

Geometry myGeometry = //some geometry
string pathMarkup = ??

知道如何将几何图形转换为其等效的路径标记吗?

【问题讨论】:

    标签: c# wpf geometry


    【解决方案1】:

    怎么样

    Geometry myGeometry = //some geometry
    string pathMarkup = myGeometry.ToString();
    

    【讨论】:

    • 这似乎不适用于CombinedGeometryGeometryGroup 对象,它们都是Geometry 子类。有人知道如何实现吗?
    【解决方案2】:

    扩展 Hamlet Hakobyan's answer,不幸的是 ToString() 方法仅适用于路径几何。因此,为了将其普遍应用于所有 Geometry 类型:

    Geometry myGeometry = PathGeometry.Parse("M 8, 0 L 2,25 16,25 Z");
    string pathString = myGeometry.ToString(); // Works only for PathGeometry
    
    GeometryGroup geomGroup = new GeometryGroup();
    geomGroup.Children.Add(myGeometry);
    geomGroup.Transform = myTransform;
    
    string pathString = PathGeometry.CreateFromGeometry(geomGroup).ToString();
    

    【讨论】:

    • 宾果游戏!你用上面的答案解决了这个问题。这是完美的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多