在 DrawText 中设置 VerticalAlignment

2023-11-26

我在用着DrawText画画FormattedText在视觉层上。现在我使用下面的代码来定义格式化文本,并且我可以设置TextAlignment to Center。但是呢VerticalAlignment?正如您在下图中看到的,文本的中心不在中心点此处用红点显示。

我定义的部分FormattedText :

var ft = new FormattedText("A",
    CultureInfo.GetCultureInfo("en-us"),
    FlowDirection.LeftToRight,
    new Typeface("Verdana"),
    36, Brushes.Yellow);

ft.TextAlignment = TextAlignment.Center;

我绘制文本的部分:

var centerpoint = new Point(0,0);
dc.DrawText(ft, centerpoint);

这是最终结果:

enter image description here

我希望文本的中间位于圆的中心。


好吧,看来我能够解决这个问题。这并不难。我将在这里发布答案以供将来参考。它也可能对其他人有帮助。

似乎没有这样的事情VerticalAlignment for a FormattedText所以我们需要自己计算和定位。既然我们可以得到Height格式化文本的属性。我们可以轻松地对齐文本,如下所示:

dc.DrawText(ft, new Point(centerpoint.X, centerpoint.Y- ft.Height/2));

Here is the result

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

在 DrawText 中设置 VerticalAlignment 的相关文章

  • 在 C++ 中分割大文件

    我正在尝试编写一个程序 该程序接受一个大文件 任何类型 并将其分成许多较小的 块 我想我已经有了基本的想法 但由于某种原因我无法创建超过 12 kb 的块大小 我知道谷歌等上有一些解决方案 但我更感兴趣的是了解这个限制的根源是什么 然后实际
  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 如果.Net Core可以在Windows上运行,为什么不能在.Net Framework中引用.Net Core DLL?

    我明白为什么 Net Framework 可能会在 Net Core IE 中导致问题 因为不存在特定于 Windows 平台的 API 但是为什么不能直接引用 Net Core 作为 Net Framework 中的库呢 如果 Net C
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • VS30063:您无权访问 https://dev.azure.com

    我正在尝试在 asp net core 2 1 mvc 应用程序中使用以下代码连接 Azure DevOps Uri orgUrl new Uri https dev azure com xxxxx String personalAcces
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • 为什么 std::allocator 在 C++17 中丢失成员类型/函数?

    一边看着std 分配器 http en cppreference com w cpp memory allocator 我看到成员 value type pointer const pointer reference const refer
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • 单元测试失败,异常代码为 c0000005

    我正在尝试使用本机单元测试项目在 Visual Studios 2012 中创建单元测试 这是我的测试 TEST METHOD CalculationsRoundTests int result Calculations Round 1 0
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • UWP 无法在两个应用程序之间创建本地主机连接

    我正在尝试在两个 UWP 应用程序之间设置 TCP 连接 当服务器和客户端在同一个应用程序中运行时 它可以正常工作 但是 当我将服务器部分移动到一个应用程序并将客户端部分移动到另一个应用程序时 ConnectAsync 会引发异常 服务器未
  • 从匿名类型获取值

    我有一个方法如下 public void MyMethod object obj implement 我这样称呼它 MyMethod new myparam waoww 那么我该如何实施MyMethod 获取 myparam 值 Edit
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 以编程方式使用自定义元素创建网格

    我正在尝试以编程方式创建一个网格 并将自定义控件作为子项附加到网格中 作为 2x2 矩阵中的第 0 行第 0 列 为了让事情变得更棘手 我使用了 MVVM 设计模式 下面是一些代码可以帮助大家理解这个想法 应用程序 xaml cs base
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它
  • WPF/数据集:如何通过 XAML 将相关表中的数据绑定到数据网格列中?

    我正在使用 WPF DataSet 连接到 SQL Server Express XAML 和 C Visual Studio 2013 Express 我从名为 BankNoteBook 的现有 SQL Server Express 数据

随机推荐

  • 获取给定 ID 的最新行

    在下表中 我如何获得最近一行 with id 1基于signin列 而不是全部 3 行 id signin signout 1 2011 12 12 09 27 24 NULL 1 2011 12 13 09 27 31 NULL 1 20
  • 如何在 Xcode 11 中启动没有 Storyboard >= iOS 13 的新项目?

    现在 带有 iOS 13 的 Xcode 11 启动时的设置与之前略有不同 将 AppDelegate m 文件中的许多功能移动到名为 SceneDelegate m 的新文件中 删除 Main storyboard 并在 AppDeleg
  • WPF DataGrid ComboBox 导致 InvalidOperationException

    当我尝试编辑组合框列的值时 我从数据网格中收到 InvalidOperationException AddNew 或 EditItem 事务期间不允许 DeferRefresh 我显示的所有项目都引用了同一列表中的另一个项目 因此这就是我使
  • 将 NumPy 字符串数组转换为日期时间

    例如 我有一个字符串数组 import numpy as np foo np array b 2014 04 05 b 2014 04 06 b 2014 04 07 为了检查数组的数据类型 我用以下命令打印它 print foo dtyp
  • 为什么 InnoDB 中的 IX 锁与另一个 IX 锁兼容?

    根据innodb锁模式 锁类型兼容性矩阵 X IX S IS X Conflict Conflict Conflict Conflict IX Conflict Compatible Conflict Compatible S Confli
  • 在c#中,如何构建从A到ZZ的数组,类似于excel对列进行排序的方式

    我正在寻找可以生成第一项是数组的代码A then B then C 后Z然后它会去AA then AB then AC 一直到ZZ 在 C 中执行此操作的最佳方法是什么 其中一种方法是 IEnumerable
  • 使用 Selenium Webdriver 查找元素内的元素

    我正在抓取一个网站 其中包含使用 JavaScript 生成的足球比赛列表 我编写了以下行 用于创建页面上所有游戏元素的列表 list browser find elements by xpath data sportid 1 如果我然后写
  • 将 Web.config 从 .NET 2.0 转换为 3.5

    我至少需要添加到 NET 2 0 网站的 web config 中以使其成为 NET 3 5 Visual Studio 添加了所有配置部分和脚本处理程序 但如果您不使用它们 它们真的有必要吗 是否有命令行工具可以将 NET 2 0 web
  • 什么是非脆弱 ABI?

    这似乎暗示everyone知道 Non Fragile ABI 是什么 考虑到它在 Xcode 中被引用的频率和事实性质 例如 下标需要接口节点的大小 这在非脆弱 ABI 中不是恒定的 or 选择要使用的 Objective C ABI 版
  • 在android中的onPreviewFrame期间转换YUV->RGB(图像处理)->YUV?

    我正在使用 SurfaceView 捕获图像并获取 Yuv Raw 预览数据public void onPreviewFrame4 byte data 相机camera 我必须在 onPreviewFrame 中执行一些图像预处理 因此我需
  • Predsort/3 类似于 msort/2

    我想知道是否可以使用predsort 3不丢失重复值 如果不是 那我应该如何对这个术语列表进行排序 当前排序功能 compareSecond Delta n A n B compare Delta A B Result predsort c
  • 如何正确处理 dom 为 Meteor 做好准备

    我目前正在使用iron router 这是我第一次尝试Meteor 平台 我遇到了大多数 jquery 库无法正确初始化的问题 因为 Meteor 渲染 html 的方式 document ready 在渲染任何模板之前触发 我想知道是否有
  • MySQL:“IN”子句的条目有限制吗? [复制]

    这个问题在这里已经有答案了 可能的重复 MySQL in 子句 中的项目数 在 mysql 或 postgres 中 IN 1 2 n 语句的大小是否有限制 我动态构建一个 IN 列表 我想知道mysql中IN子句的大小是否有限制 SELE
  • 映射嵌套 JSON 时如何检查 NULL?

    我正在尝试将嵌套 JSON 映射到模型对象 问题是当它返回 null 时 它将破坏所有代码 我想检查 null 是否执行某些操作但不会破坏应用程序 JSON 文件 id 53 date 2018 12 28T08 51 11 title r
  • WatchKit 应用程序因“安装失败”而被拒绝

    我使用配套的 Apple Watch 应用程序构建了一个 iOS 应用程序 并于最近将其提交到了 App Store 今天早上因为安装失败被拒绝了 以下是重现步骤 在 iPhone 上安装该应用程序 启动配套应用程序 切换 在 Apple
  • 获取 char 中的位数

    如何获取类型中的位数char 我知道关于CHAR BIT from climits 这被描述为 宏产生用于表示 char 类型对象的位数的最大值 Dikumware 的 C 参考 我理解这意味着a中的位数char 不是吗 我可以得到相同的结
  • 从 PHP 应用程序记录页面请求数据的可扩展方式?

    我正在开发的 Web 应用程序 使用 PHP 需要能够记录每个页面请求 就像普通的 access log 一样 它将存储请求的 url 源 IP 地址 日期 时间等详细信息 但我还需要它来存储登录用户的用户 ID 存储在 php 会话变量中
  • 如何在 Scala 中高效地将数组复制到另一个数组?

    我如何使用另一种方式复制Array到另一个Array 我的想法是使用 操作员 例如 val A Array val B A 但这可以吗 第二种方法是使用for loop 例如 val A Array val B new Array A le
  • 使用Spring Cloud更改eureka服务器的默认端口

    我得到了 spring boot 应用程序 一个 eureka 服务器和一个 eureka 客户端 这是我的服务器配置 server port 8761 spring application name eureka server 这是我的服
  • 在 DrawText 中设置 VerticalAlignment

    我在用着DrawText画画FormattedText在视觉层上 现在我使用下面的代码来定义格式化文本 并且我可以设置TextAlignment to Center 但是呢VerticalAlignment 正如您在下图中看到的 文本的中心