C# 单一字体字符大小?

标签 c# fonts drawstring

这与字符串的大小无关。

我为绘制字符串指定了一种字体。现在我需要 1 个字符的 exact 宽度(以像素为单位)。我只允许具有静态字符宽度的字体(绘制时 W 和 i 具有相同的宽度)。如果我使用大小为 10 的“Consolas”,我得到的估计宽度为 7.75f。我能否以某种方式直接检索此信息?

我在绘图时不需要这些信息,但是当我想设置光标位置等时。所以我不知道光标下方的文本是什么。

编辑: MeasureString 给我 11.99653 作为字符宽度。不知道为什么。但是我不能使用这个值。我估计 7.75f,非常准确。如果我想更改字体大小,我会遇到麻烦。

最佳答案

使用 MeasureString方法:

Graphics g = this.CreateGraphics();
g.MeasureString("A", font, 10, StringFormat.GenericTypographic);

其中 fontFont 的一个实例类。

关于C# 单一字体字符大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20329233/

相关文章:

c++ - 使用 FreeType 加载彩色字体

c++ - SetFont() - 函数不适用于 wxFrame

c# - 如何使用 System.Drawing 将旋转的字符串绘制为图像?

c# - ASP.NET VNext 是云优化的是什么意思?

c# - 更改单个 DataGridView 列中所有单元格的填充

c# - 使用 method<Type>(parameters) 的调用方法

html - 如何使用基础框架使字体大小响应?

.net - 在矩形内填充文本

c# - 用卷纸打印收据

c# - 滥用 IDisposable 从 "using"语句中获益是否被认为是有害的?