这与字符串的大小无关。
我为绘制字符串指定了一种字体。现在我需要 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);
其中 font
是 Font
的一个实例类。
关于C# 单一字体字符大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20329233/