Graphics.MeasureString メソッド
指定した Font オブジェクトで描画した場合の、指定した文字列を計測します。
オーバーロードの一覧
指定した Font オブジェクトで描画した場合の、指定した文字列を計測します。
.NET Compact Framework でもサポート。
[Visual Basic] Overloads Public Function MeasureString(String, Font) As SizeF
[JScript] public function MeasureString(String, Font) : SizeF;
指定した Font オブジェクトで描画した場合の、指定した文字列を計測します。
[Visual Basic] Overloads Public Function MeasureString(String, Font, Integer) As SizeF
[JScript] public function MeasureString(String, Font, int) : SizeF;
指定したレイアウト領域内に指定した Font オブジェクトで描画した場合の、指定した文字列を計測します。
[Visual Basic] Overloads Public Function MeasureString(String, Font, SizeF) As SizeF
[JScript] public function MeasureString(String, Font, SizeF) : SizeF;
指定した Font オブジェクトを使用し、指定した StringFormat オブジェクトで書式指定して描画した場合の、指定した文字列を計測します。
[Visual Basic] Overloads Public Function MeasureString(String, Font, Integer, StringFormat) As SizeF
[C#] public SizeF MeasureString(string, Font, int, StringFormat);
[C++] public: SizeF MeasureString(String*, Font*, int, StringFormat*);
[JScript] public function MeasureString(String, Font, int, StringFormat) : SizeF;
指定した Font オブジェクトを使用し、指定した StringFormat オブジェクトで書式指定して描画した場合の、指定した文字列を計測します。
[Visual Basic] Overloads Public Function MeasureString(String, Font, PointF, StringFormat) As SizeF
[C#] public SizeF MeasureString(string, Font, PointF, StringFormat);
[C++] public: SizeF MeasureString(String*, Font*, PointF, StringFormat*);
[JScript] public function MeasureString(String, Font, PointF, StringFormat) : SizeF;
指定した Font オブジェクトを使用し、指定した StringFormat オブジェクトで書式指定して描画した場合の、指定した文字列を計測します。
[Visual Basic] Overloads Public Function MeasureString(String, Font, SizeF, StringFormat) As SizeF
[C#] public SizeF MeasureString(string, Font, SizeF, StringFormat);
[C++] public: SizeF MeasureString(String*, Font*, SizeF, StringFormat*);
[JScript] public function MeasureString(String, Font, SizeF, StringFormat) : SizeF;
指定した Font オブジェクトを使用し、指定した StringFormat オブジェクトで書式指定して描画した場合の、指定した文字列を計測します。
[Visual Basic] Overloads Public Function MeasureString(String, Font, SizeF, StringFormat, ByRef Integer, ByRef Integer) As SizeF
[C#] public SizeF MeasureString(string, Font, SizeF, StringFormat, int, int);
[C++] public: SizeF MeasureString(String*, Font*, SizeF, StringFormat*, int, int);
[JScript] public function MeasureString(String, Font, SizeF, StringFormat, int, int) : SizeF;
使用例
[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 Paint イベント ハンドラのパラメータである PaintEventArgs e が必要です。このコードは次のアクションを実行します。
- 計測する文字列を作成し、フォント オブジェクトを Arial (16 ポイント) に設定します。
- 文字列の最大レイアウト サイズを設定します。
- 文字列書式オブジェクトを作成し、その書式フラグを StringFormatFlags.DirectionVertical に設定します。
- 整数変数 charactersFitted および linesFilled と、文字列を計測するサイズ オブジェクトを作成します。
- 文字列のサイズの計測およびその文字列の文字数と行数の決定を、その文字列、フォント オブジェクト、最大レイアウト サイズ、および文字列書式を使用して行います。
- 文字列の計測サイズを使用して赤い四角形を描画します。
- 描画した四角形内に文字列を描画します。
- 文字列の文字数と行数の値を描画します。
[Visual Basic, C#] 縦の文字列を囲む縦の四角形が生成されます。
[Visual Basic, C#] メモ ここでは、MeasureString のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。
Public Sub MeasureStringSizeFFormatInts(e As PaintEventArgs)
' Set up string.
Dim measureString As String = "Measure String"
Dim stringFont As New Font("Arial", 16)
' Set maximum layout size.
Dim layoutSize As New SizeF(100F, 200F)
' Set string format.
Dim newStringFormat As New StringFormat()
newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical
' Measure string.
Dim charactersFitted As Integer
Dim linesFilled As Integer
Dim stringSize As New SizeF()
stringSize = e.Graphics.MeasureString(measureString, stringFont, _
layoutSize, newStringFormat, charactersFitted, linesFilled)
' 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), newStringFormat)
' Draw output parameters to screen.
Dim outString As String = "chars " & charactersFitted & _
", lines " & linesFilled
e.Graphics.DrawString(outString, stringFont, Brushes.Black, _
New PointF(100, 0))
End Sub
[C#]
public void MeasureStringSizeFFormatInts(PaintEventArgs e)
{
// Set up string.
string measureString = "Measure String";
Font stringFont = new Font("Arial", 16);
// Set maximum layout size.
SizeF layoutSize = new SizeF(100.0F, 200.0F);
// Set string format.
StringFormat newStringFormat = new StringFormat();
newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical;
// Measure string.
int charactersFitted;
int linesFilled;
SizeF stringSize = new SizeF();
stringSize = e.Graphics.MeasureString(
measureString,
stringFont,
layoutSize,
newStringFormat,
out charactersFitted,
out linesFilled);
// 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),
newStringFormat);
// Draw output parameters to screen.
string outString = "chars " + charactersFitted + ", lines " + linesFilled;
e.Graphics.DrawString(
outString,
stringFont,
Brushes.Black,
new PointF(100, 0));
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。