这不是一个四舍五入的问题.差异~5 +像素.
测试用例字符串:""MACD(26,12,9)-0.000016"
e.Graphics.MeasureString("MACD (26,12,9) -0.000016", SystemFonts.DefaultFont).Width)
TextRenderer.MeasureText("MACD (26,12,9) -0.000016", SystemFonts.DefaultFont).Width)
Run Code Online (Sandbox Code Playgroud)
结果总是:
139.3942
134
Run Code Online (Sandbox Code Playgroud)
为什么尺寸差异如此之大?我只需要在外面绘制圆形宽度的方法.但它应该与MeasureString匹配,反之亦然.
Windows窗体:
因为System.Drawing有一种方法可以获得字体高度.
Font font = new Font("Arial", 10 , FontStyle.Regular);
float fontHeight = font.GetHeight();
Run Code Online (Sandbox Code Playgroud)
但是,如何获得平均字符宽度等其他文本指标?
我有一个代码,可以在屏幕上绘制字符串。假设我需要相邻绘制两个单词,每个单词可能有不同的字体。如何检索打印文本的宽度,以便调整轴以开始在第一个单词旁边绘制第二个单词?