获取系统.绘图.字体宽度?



我正在使用.Net工具进行一些2D绘图。System.Drawing.Font使用以像素为单位返回高度的GetHeight()。我缺少检索宽度的GetWidth()!我应该使用什么?

使用Graphics.MeasureString 方法(字符串、字体)

例如。

// Set up string. string measureString = "Measure String";
Font stringFont = new Font("Arial", 16);
// Measure string.
SizeF stringSize = new SizeF();
Graphics gfx = Graphics.FromImage(new Bitmap(1, 1));
stringSize = gfx.MeasureString(measureString, stringFont);
// This will give you string width, from which you can calculate further 
double width = stringSize.Width

什么宽度?GetHeight返回两行文本的基线之间的距离,这是字体本身的属性。但是宽度取决于你要写什么。

如果您知道要编写的内容,请尝试Graphics.MeasureString方法。

最新更新