您的位置:首页 > 其它

计算指定的 Font 对象绘制的指定字符串尺寸 [转自MSDN]

2005-03-21 06:38 387 查看
测量用指定的 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 参数绘制的字符串的大小(以像素为单位)。

备注

[b]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));

}

[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐