这与字符串的大小无关。
我指定了绘制字符串的字体。现在我需要1个字符的精确宽度(以像素为单位)。我只允许具有静态字符宽度的字体(W和i在绘制时具有相同的宽度)。如果我使用大小为10的“Consolas”,我的估计宽度为7.75f
。我能以某种方式直接检索这些信息吗?
绘图时我不需要这些信息,但是当我想设置光标位置等时,我不知道光标下面有什么文字。
编辑: MeasureString以11.99653作为字符宽度。不知道为什么。但我不能使用这个值。我估计7.75f而且非常精确。如果我想改变字体大小,我会遇到麻烦。
答案 0 :(得分:2)
使用MeasureString
方法:
Graphics g = this.CreateGraphics();
g.MeasureString("A", font, 10, StringFormat.GenericTypographic);
其中font
是Font
类的实例。