计算指定的 Font 对象绘制的指定字符串尺寸 [转自MSDN]
测量用指定的 Font 对象绘制的指定字符串。
[Visual Basic]
Overloads Public Function MeasureString( _
ByVal text As String, _
ByVal font As Font _
) As SizeF
[C#]
public SizeF MeasureString(
string text,
Font font
);
[C++]
public: SizeF MeasureString(
String* text,
Font* font
);
[JScript]
public function MeasureString(
text : String,
font : Font
) : SizeF;
参数
- text
- 要测量的字符串。
- font
- Font 对象,它定义字符串的文本格式。
返回值
此方法返回 SizeF 结构,该结构表示在 text 参数中指定的、用 font 参数绘制的字符串的大小(以像素为单位)。
备注
MeasureString 方法旨在与个别字符串一起使用,它在字符串前后包括少量额外的空格供突出的标志符号使用。另外,DrawString 方法会调整标志符号镑值以优化显示质量,它显示的字符串可能比 MeasureString 报告的窄。若要获得适合布局中相邻字符串的度量标准(如在实现格式化文本时),请使用 MeasureCharacterRanges 方法。
示例
[Visual Basic, C#] 下面的示例旨在用于 Windows 窗体,它需要 PaintEventArgs e(这是 Paint 事件处理程序的参数)。代码执行下列操作:
- 创建要测量的字符串。
- 创建字体对象,并将其设置为 Arial (16pt.)。
- 创建大小对象,并使用它和字体对象来测量字符串的大小。
- 使用所测得的字符串大小绘制一个红色矩形。
- 在绘制的矩形内绘制字符串。
[Visual Basic]
Public Sub MeasureStringMin(e As PaintEventArgs)
' Set up string.
Dim measureString As String = "Measure String"
Dim stringFont As New Font("Arial", 16)
' Measure string.
Dim stringSize As New SizeF()
stringSize = e.Graphics.MeasureString(measureString, stringFont)
' Draw rectangle representing size of string.
e.Graphics.DrawRectangle(New Pen(Color.Red, 1), 0F, 0F, _
stringSize.Width, stringSize.Height)
' Draw string to screen.
e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
New PointF(0, 0))
End Sub
[C#]
public void MeasureStringMin(PaintEventArgs e)
{
// Set up string.
string measureString = "Measure String";
Font stringFont = new Font("Arial", 16);
// Measure string.
SizeF stringSize = new SizeF();
stringSize = e.Graphics.MeasureString(measureString, stringFont);
// Draw rectangle representing size of string.
e.Graphics.DrawRectangle(
new Pen(Color.Red, 1),
0.0F, 0.0F, stringSize.Width, stringSize.Height);
// Draw string to screen.
e.Graphics.DrawString(
measureString,
stringFont,
Brushes.Black,
new PointF(0, 0));
}