5

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

4

2 回答 2

10

使用 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
于 2012-11-07T11:58:47.030 回答
4

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

如果你知道你想写什么,试试这些Graphics.MeasureString方法。

于 2012-11-07T11:52:58.813 回答