Win2D中如何计算一段文本的大小

2023-11-23

我正在使用 Win2D 为 Windows 10 编写一个应用程序,并且尝试绘制一个可动态缩放的形状以适应其中的任何文本。

我想做的是计算出给定 CanvasTextFormat 的特定字符串有多大,然后用它来设置形状的大小。

我的问题是我似乎无法找到计算字符串有多大的方法?


请参阅下面的代码来计算所需的大小(查找“theRectYouAreLookingFor”)

private void CanvasControl_Draw(CanvasControl sender, CanvasDrawEventArgs args)
{
    CanvasDrawingSession drawingSession = args.DrawingSession;
    float xLoc = 100.0f;
    float yLoc = 100.0f;
    CanvasTextFormat format = new CanvasTextFormat {FontSize = 30.0f, WordWrapping = CanvasWordWrapping.NoWrap};        
    CanvasTextLayout textLayout = new CanvasTextLayout(drawingSession, "Hello World!", format, 0.0f, 0.0f);
    Rect theRectYouAreLookingFor = new Rect(xLoc + textLayout.DrawBounds.X, yLoc + textLayout.DrawBounds.Y, textLayout.DrawBounds.Width, textLayout.DrawBounds.Height);
    drawingSession.DrawRectangle(theRectYouAreLookingFor, Colors.Green, 1.0f);
    drawingSession.DrawTextLayout(textLayout, xLoc, yLoc, Colors.Yellow);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Win2D中如何计算一段文本的大小 的相关文章

随机推荐

  • 禁用“单页”网络应用程序的惯性滚动

    我正在尝试创建一个 单页 网络应用程序 其风格与 Gmail Google Docs Evernote 等相同 在这些应用程序中 允许惯性滚动拉动页面是没有意义的 这是我尝试禁用的效果的视频 http tinypic com r 2eb6f
  • AWS ec2 根卷增加:在 aws ubuntu 实例上扩展弹性根卷不起作用

    我已经关注了用于扩展弹性根卷的 aws 文档我的根卷大小从 8 GB 增加到 20 GB 我确认使用lsblk NAME MAJ MIN RM SIZE RO TYPE MOUNTPOINT xvda 202 0 0 20G 0 disk
  • 将 xtable 输出拆分为子表

    有一个关于在有多列时将 xtable 与 Sweave 一起使用的问题 我正在处理的表格大约有 25 列和 5 行 确切的列数未知 因为它是动态的 当我跑步时说 表 1 我得到的表格基本上超过了页面长度 ColA ColB ColC Row
  • XCHG 在 Intel 汇编语言中如何工作?

    如何xchg以下代码中的指令工作 已知arrayD是一个 DWORD 数组 1 2 3 mov eax arrayD eax 1 xchg eax arrayD 4 eax 2 arrayD 2 1 3 为什么后面不是数组 1 1 3xch
  • 正则表达式匹配单个点而不是两个点?

    尝试创建用于电子邮件地址检查的正则表达式模式 这将允许使用点 但如果有多个点相邻 则不允许使用点 应匹配 电子邮件受保护 不应该匹配 电子邮件受保护 现在我知道互联网上有数千个用于电子邮件匹配的示例 因此请不要向我发布包含完整解决方案的链接
  • Matlab - save(int2str(i), x) 不起作用 - 参数必须包含字符串

    我有一个循环正在生成一些数据 在某些情况下我想保存数据 因此我有 save int2str i x 这不起作用并显示以下消息 Error using gt save Argument must contain a string 我究竟做错了
  • 无法 Dockerize Vite React-Typescript 项目

    我正在尝试对 Vite React Typescript 样板设置进行 dockerize 但无法连接到容器 安装了 vite react typescript 样板 npm init vite latest vite docker dem
  • 返回 http 200 OK,响应正文中有错误

    我想知道返回是否正确HTTP 200 OK当服务器端发生错误时 错误详细信息将包含在响应正文中 Example 我们正在发送HTTP GET 服务器端发生了一些意想不到的事情 服务器返回HTTP 200 OK响应中存在错误的状态代码 例如
  • 如何通过给出私钥获得RSA公钥?

    我正在寻找一个 Java 函数 它将获取 RSA 私钥并返回正确的 RSA 公钥 或者 是否有一个函数可以告诉我们 RSA 私钥 公钥是否有效 如果您有私钥作为RSA私钥对象 您可以获得公共指数以及模数 然后你可以像这样创建公钥 RSAPu
  • 如何在 django 的 ModelForm 中使用 DatePicker?

    我正在使用 django 3 0 我试图在我的 ModelForm 中显示一个日期选择器小部件 但我不知道如何 我能得到的只是文本字段 我尝试寻找一些解决方案 但找不到任何解决方案 这就是我的模型和 ModelForm 的样子 class
  • 在 AngularJS 自定义验证指令中调用异步服务

    我有一个自定义验证指令 验证用户名尚不存在 验证使用 http服务询问服务器用户名是否存在 因此返回的是一个promise对象 这对于验证来说非常有效 当用户名已被使用时 表单无效并包含 myform error usernameVerif
  • 如何将 Angular Promise 转换为 jquery 延迟对象

    我想将承诺从我的模块 sdk 返回到非角度 javascript 例如 如果我将 Promise 返回给 jquery 我可能应该发送 jquery 延迟对象 如何将 Angular Promise 转换为 jquery Promise D
  • Xcode 6 iPhone 模拟器应用程序支持位置

    在 Xcode 6 中 我有一个正在使用 Core Data 的应用程序 但 iOS 8 iPhone 模拟器的应用程序支持中没有文件夹 我的文件和 Core Data sqlite 数据库存储在哪里 模拟器目录已随 Xcode 6 bet
  • 操作栏 Sherlock SearchView 单击时不会展开

    我有一个 Sherlock 片段活动 我使用片段寻呼机适配器从中设置不同的 Sherlock 片段 现在 为了在每个片段中显示搜索视图 我已将此方法放置在片段的 onCreate 中 此方法将在片段的 ActionBar 中显示菜单项 Ov
  • 为什么使用“g++”而不是“gcc”来编译 *.cc 文件?

    我编译了一个使用的库g 代替gcc 一开始我以为源代码是用C 写的 后来发现 cc文件里并没有任何C 代码 为了确认这一点 我更换了g 在原始 makefile 中gcc 而且我仍然得到了正确的程序 解释是什么 我不是第一次遇到这样的情况
  • 从密码字符串派生加密密钥和 IV 时,可以使用密码的 SHA1 哈希值作为盐吗?

    我在用着Rfc2898DeriveBytes从用户提供的字符串密码安全地生成加密密钥和初始化向量 以与对称加密 例如 AesManaged 一起使用 我将密码的 SHA1 哈希值作为盐参数Rfc2898DeriveBytes 这可以吗 如果
  • 需要 .NET WinForms IP 地址控件 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我需要一个强大的 用户友好的 具有专业外观的 NET WinForms IP 地址控件 以便在我正在进行的项目中使用 此控件至少应支持 IPv4 寻
  • 将科学记数法转换为浮点数

    遇到一个问题 我的 JSON 数据被打印为科学记数法而不是浮点数 import urllib2 import json import sys url https bittrex com api v1 1 public getmarketsu
  • 如何设置间隔来调用类中的函数

    我有一堂课 比如 function run this interval this start function this interval setInterval this draw 1000 this draw function some
  • Win2D中如何计算一段文本的大小

    我正在使用 Win2D 为 Windows 10 编写一个应用程序 并且尝试绘制一个可动态缩放的形状以适应其中的任何文本 我想做的是计算出给定 CanvasTextFormat 的特定字符串有多大 然后用它来设置形状的大小 我的问题是我似乎