c# - 不使用图形对象测量字符串?

标签 c# text fonts gdi+

我使用像素作为我字体的单位。在一个地方,我正在执行 HitTest 以检查用户是否在屏幕上某些文本的边界矩形内单击。我需要为此使用 MeasureString 之类的东西。不幸的是,执行 HitTest 的代码深藏在一个库中,该库无法访问 Graphics 对象甚至 Control

如何在不使用 Graphics 类的情况下获取给定字体的字符串的边界框?当我的字体以像素为单位时,为什么我什至需要一个 Graphics 对象?

最佳答案

如果您有对 System.Windows.Forms 的引用,请尝试使用 TextRenderer 类。有一个静态方法 (MeasureText),它获取字符串和字体并返回大小。 MSDN Link

关于c# - 不使用图形对象测量字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1003370/

相关文章:

java - 在 Mac 上的 Java2D 中旋转文本

linux - 如何从 Ghostscript 更新 CID 字体

c# - 什么是C# 等同于C++ STL 填充方法

c# - C# 中 Cmd 命令中的 FFmpeg 完成后的事件

c# - Google Plus API 获取相册/视频

css - 从现有字体创建@font-face

html - 在网站上使用 Helvetica 变体

c# - Windows 窗体 DateTimePicker 始终打开

python - text.startswith 方法与多个词

javascript - 如何在没有网络服务器的情况下获取外部 JavaScript 的文本(即 AJAX)