从 System.Windows.Media.Geometry 获取坐标列表

2024-01-16

Given a System.Windows.Media.Geometry类实例,有没有一种简单的方法可以将其转换为轮廓和点列表?例如,我怎样才能简单地将其分解为一个列表LineSegments用于自定义渲染。

FormattedText formattedText = new FormattedText( "Hello", ...);
Geometry textGeometry = formattedText.BuildGeometry(new System.Windows.Point(0, 0));

如何列出每个轮廓(其中 O 是内/外圆)以及每个轮廓上的每个点?

根据下面的答案;

    var flatten = textGeometry.GetFlattenedPathGeometry();
    PathFigureCollection pfc = flatten.Figures;

    foreach (PathFigure pf in pfc)
     {
        foreach (PathSegment ps in pf.Segments)
         {
            if (ps is LineSegment)

On the Geometry类,你可以使用GetFlattenedPathGeometry(), GetOutlinedPathGeometry()(或相关 - 决定你真正想要什么)获得PathGeometry然后查询Figures获取数字列表。这些中的每一个PathFigure对象具有线段(可能是线段、贝塞尔曲线等)。

请注意,在执行此操作时,如果您天真地这样做,您可能会丢失一些信息 - 如果可以给出任意任意几何图形,您可能需要做的不仅仅是调用 FlattenedPathGeometry 才能不丢失填充信息等信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 System.Windows.Media.Geometry 获取坐标列表 的相关文章

随机推荐

  • SQL Server 2008 (R2) 的 CRUD SP 生成器

    我正在使用 SQL Server 2008 R2 是否有一个免费的脚本 实用程序可以为我的所有数据库表创建 CRUD SP 我以前有一份 但剧本丢了 Thanks I use SSMS 工具包 http www ssmstoolspack
  • C# 在运行时获取进程输出

    无论如何 是否可以重定向生成进程的标准输出并在发生时捕获它 我所看到的一切都只是在该过程完成后执行 ReadToEnd 我希望能够在打印时获得输出 Edit private void ConvertToMPEG Start the chil
  • Android 内存不足异常

    有什么办法可以处理吗OutOfMemoryException在Android中同时使用大量图片的Bitmap 我尝试了本网站给出的所有解决方案 即 GC Bitmap reset 我只是想知道在堆内存即将满之前是否可以生成警报 这样我就可以
  • ABAP ADT 先决条件?

    在 Eclipse 中建立与本地数据库的连接以开始在 ABAP 中进行开发需要什么 我已经安装了 ABAP 插件 但无法连接到数据库 有什么建议么 ABAP 开发工具 ADT https tools hana ondemand com ab
  • 从 Ada 程序启动可执行文件并读取结果

    I found this https stackoverflow com questions 32663224 why isnt my gnats standout file descriptor working问题和第一个答案包含一些示例
  • 在jqgrid中添加行

    我正在使用 jqGrid 并且它工作正常 我有一个场景 我必须在 jqGrid 中添加一个空白行 而不是弹出窗口来添加行 我该怎么做 您可以使用例如添加行数据 http www trirand com jqgridwiki doku php
  • 用C将客户端输入插入MySQL数据库

    如何编写一个 C 程序来获取 MySQL 服务器的客户端输入 我使用 Fedora 作为我的操作系统 这是我的代码 include
  • 如何判断 ASP.NET 应用程序中的 HTTP 标头何时已发送?

    长话短说 我有一个 ASP NET 应用程序 我正在尝试调试 在某些时候 在非常特殊的情况下 该应用程序将抛出异 常Response Redirect 陈述 Cannot redirect after HTTP headers have b
  • 如何使用 Linq 选择具有一对多关系的所有内容

    我有两张桌子 CREATE TABLE Thing Id int Name nvarchar max CREATE TABLE SubThing Id int Name nvarchar max ThingId int foreign ke
  • Google 地图未完全呈现在页面上?

    我的页面上有一个谷歌地图 其中有一个我自己构建的搜索窗格 可以随意显示和隐藏 假设它的一侧覆盖了地图的 200 个像素 问题是 当我调整地图大小时 窗格重叠的区域不会渲染 即地图由于某种原因不会在那里渲染 看看这个link http www
  • 如何将 .XLS 和 .XLSX 文件转换为 .PDF 格式并将它们返回到 Powershell 中的每个原始子文件夹?

    我目前有一个 powershell 脚本 可以很好地将 Excel 电子表格转换为 PDF 文件 但我的问题是新文件出现在父文件夹中 而不是它们来自的特定子文件夹中 我当前的脚本如下所示 path c users me Documents
  • 在 PostgreSQL 中对 JsonB 数组进行 Sequelize ORM 查询

    如何使用一些匹配条件和逻辑运算 lt et gte等 在 Jsonb 对象数组上 在 PostgreSQL 中使用 Sequelize ORM 表名 calls id direction metaData 1 inbound 2 outbo
  • 使用 Javascript 比较 HTML 中的两个输入数字?

    我正在使用 Notepad 创建一个简单的网页 用户在文本框中输入两个数字 然后按下按钮 当他们按下按钮时 会出现一些信息 告诉他们第一个数字还是第二个数字更大 我有以下代码 但无法得到任何结果 有谁知道出了什么问题吗
  • XML 新版本 - 新功能

    XML 有新版本了吗 如果是的话 它是什么时候发布的 有哪些新功能 目前 基本 XML 规范中的新功能不太可能出现 当然 XML 系列中的其他标准将会继续发展 但 XML 本身非常稳定 该标准有多个 版本 到目前为止为止是第五版 但这些仅仅
  • 如何在编译时推断嵌套 std::vector 的内部类型?

    有一天我问了一个非常类似的问题 https stackoverflow com questions 59490698 how can i get the depth of a multidimensional stdvector at co
  • 将多维数组转换为字符串并返回

    我有一个二维数组 我需要能够将其转换为字符串表示形式并返回数组格式 我想创建一个通用方法来处理任何数组 1d 2d 3d 等 这样我将来就可以重用该方法 解决这个问题的最佳方法是什么 string array new string help
  • 手动添加声明文件 (TypeScript)

    我没有找到 google spreadsheet 的声明文件 因此我尝试自己创建一个 在打字 gt 模块中 我添加了一个名为 google spreadsheet 的新文件夹 并在其中添加了一个名为 index d ts 的新文件 其中包含
  • 更新 Spring 注入的属性文件以包含上次运行时间戳

    我有一个应用程序 它使用 Spring 加载的属性文件 然后将 Properties 实例注入到几个类中 问题是其中一些属性已更新 例如我们有一个要存储在这里的lastRun时间戳 也许有更好的方法来存储这样的东西 欢迎建议 但是我该如何更
  • 对于具有相同分数的文档,主/副本的结果顺序不一致

    我创建了一个包含单个分片和 1 个副本的索引 我正在运行 ElasticSearch 版本 1 0 1 并且集群有 3 个节点 我注意到 有时具有相同分数的文档的结果排序是 根据是否针对主数据库和副本数据库运行相同的查询而有所不同 该查询是
  • 从 System.Windows.Media.Geometry 获取坐标列表

    Given a System Windows Media Geometry类实例 有没有一种简单的方法可以将其转换为轮廓和点列表 例如 我怎样才能简单地将其分解为一个列表LineSegments用于自定义渲染 FormattedText f