Graphics.MeasureString メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した Fontで描画されたときに、指定した文字列を測定します。
オーバーロード
MeasureString(ReadOnlySpan<Char>, Font, Int32, StringFormat)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Font で描画され、指定した StringFormatで書式設定された場合に、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font, int width, System::Drawing::StringFormat ^ format);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font, int width, System.Drawing.StringFormat? format);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * int * System.Drawing.StringFormat -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, width As Integer, format As StringFormat) As SizeF
パラメーター
- text
- ReadOnlySpan<Char>
測定する文字列。
- width
- Int32
文字列の最大幅。
- format
- StringFormat
文字列の行間などの書式設定情報を表す StringFormat。
戻り値
このメソッドは、font
パラメーターと stringFormat
パラメーターで描画される text
パラメーターで指定された文字列のサイズを、PageUnit プロパティで指定された単位で表す SizeF 構造体を返します。
適用対象
MeasureString(String, Font, SizeF, StringFormat, Int32, Int32)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Font で描画され、指定した StringFormatで書式設定された場合に、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, System::Drawing::SizeF layoutArea, System::Drawing::StringFormat ^ stringFormat, [Runtime::InteropServices::Out] int % charactersFitted, [Runtime::InteropServices::Out] int % linesFilled);
public System.Drawing.SizeF MeasureString (string? text, System.Drawing.Font font, System.Drawing.SizeF layoutArea, System.Drawing.StringFormat? stringFormat, out int charactersFitted, out int linesFilled);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, System.Drawing.SizeF layoutArea, System.Drawing.StringFormat stringFormat, out int charactersFitted, out int linesFilled);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.SizeF * System.Drawing.StringFormat * int * int -> System.Drawing.SizeF
Public Function MeasureString (text As String, font As Font, layoutArea As SizeF, stringFormat As StringFormat, ByRef charactersFitted As Integer, ByRef linesFilled As Integer) As SizeF
パラメーター
- text
- String
測定する文字列。
- stringFormat
- StringFormat
文字列の行間などの書式設定情報を表す StringFormat。
- charactersFitted
- Int32
文字列内の文字数。
- linesFilled
- Int32
文字列内のテキスト行の数。
戻り値
このメソッドは、font
パラメーターと stringFormat
パラメーターで描画された text
パラメーターの PageUnit プロパティで指定された単位で、文字列のサイズを表す SizeF 構造体を返します。
例外
font
は null
です。
例
次のコード例は Windows フォームで使用できるように設計されており、Paint イベント ハンドラーのパラメーターである PaintEventArgse
が必要です。 このコードは、次のアクションを実行します。
測定する文字列を作成し、フォント オブジェクトを Arial (16 ポイント) に設定します。
文字列の最大レイアウト サイズを設定します。
文字列書式指定オブジェクトを作成し、その書式フラグを DirectionVerticalに設定します。
文字列を測定する整数変数
charactersFitted
およびlinesFilled
およびサイズ オブジェクトを作成します。文字列のサイズを測定し、文字列、フォント オブジェクト、最大レイアウト サイズ、および文字列形式を使用して、入力された文字数と行数を決定します。
文字列の測定サイズを使用して赤い四角形を描画します。
描画された四角形内に文字列を描画します。
入力された文字数と塗りつぶされた行数の値を描画します。
結果は、垂直方向の文字列を囲む垂直方向の四角形になります。
public:
void MeasureStringSizeFFormatInts( PaintEventArgs^ e )
{
// Set up string.
String^ measureString = "Measure String";
System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );
// Set maximum layout size.
SizeF layoutSize = SizeF(100.0F,200.0F);
// Set string format.
StringFormat^ newStringFormat = gcnew StringFormat;
newStringFormat->FormatFlags = StringFormatFlags::DirectionVertical;
// Measure string.
int charactersFitted;
int linesFilled;
SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, layoutSize, newStringFormat, charactersFitted, linesFilled );
// Draw rectangle representing size of string.
e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );
// Draw string to screen.
e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0), newStringFormat );
// Draw output parameters to screen.
String^ outString = String::Format( "chars {0}, lines {1}", charactersFitted, linesFilled );
e->Graphics->DrawString( outString, stringFont, Brushes::Black, PointF(100,0) );
}
private 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));
}
Private Sub MeasureStringSizeFFormatInts(ByVal 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(100.0F, 200.0F)
' 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), 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.
Dim outString As String = "chars " & charactersFitted & _
", lines " & linesFilled
e.Graphics.DrawString(outString, stringFont, Brushes.Black, _
New PointF(100, 0))
End Sub
注釈
MeasureString メソッドは、個々の文字列で使用するように設計されており、グリフのオーバーハングを可能にするために、文字列の前後に少量の余分なスペースが含まれています。 また、DrawString メソッドは、表示品質を最適化するためにグリフ ポイントを調整し、MeasureStringによって報告される文字列よりも狭い文字列を表示する場合があります。 レイアウト内の隣接する文字列に適したメトリックを取得するには (書式設定されたテキストを実装する場合など)、MeasureCharacterRanges メソッドまたは StringFormat を受け取って GenericTypographicを渡す MeasureString メソッドのいずれかを使用します。 また、Graphics の TextRenderingHint が AntiAliasされていることを確認します。
こちらもご覧ください
- MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)
- MeasureCharacterRanges(String, Font, RectangleF, StringFormat)
- フォントとテキスト を使用した
適用対象
MeasureString(ReadOnlySpan<Char>, Font, SizeF, StringFormat, Int32, Int32)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Font で描画され、指定した StringFormatで書式設定された場合に、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::SizeF layoutArea, System::Drawing::StringFormat ^ stringFormat, [Runtime::InteropServices::Out] int % charactersFitted, [Runtime::InteropServices::Out] int % linesFilled);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font, System.Drawing.SizeF layoutArea, System.Drawing.StringFormat? stringFormat, out int charactersFitted, out int linesFilled);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.SizeF * System.Drawing.StringFormat * int * int -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, layoutArea As SizeF, stringFormat As StringFormat, ByRef charactersFitted As Integer, ByRef linesFilled As Integer) As SizeF
パラメーター
- text
- ReadOnlySpan<Char>
測定する文字列。
- stringFormat
- StringFormat
文字列の行間などの書式設定情報を表す StringFormat。
- charactersFitted
- Int32
文字列内の文字数。
- linesFilled
- Int32
文字列内のテキスト行の数。
戻り値
このメソッドは、font
パラメーターと stringFormat
パラメーターで描画された text
パラメーターの PageUnit プロパティで指定された単位で、文字列のサイズを表す SizeF 構造体を返します。
適用対象
MeasureString(String, Font, Int32, StringFormat)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Font で描画され、指定した StringFormatで書式設定された場合に、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, int width, System::Drawing::StringFormat ^ format);
public System.Drawing.SizeF MeasureString (string? text, System.Drawing.Font font, int width, System.Drawing.StringFormat? format);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, int width, System.Drawing.StringFormat format);
member this.MeasureString : string * System.Drawing.Font * int * System.Drawing.StringFormat -> System.Drawing.SizeF
Public Function MeasureString (text As String, font As Font, width As Integer, format As StringFormat) As SizeF
パラメーター
- text
- String
測定する文字列。
- width
- Int32
文字列の最大幅。
- format
- StringFormat
文字列の行間などの書式設定情報を表す StringFormat。
戻り値
このメソッドは、font
パラメーターと stringFormat
パラメーターで描画される text
パラメーターで指定された文字列のサイズを、PageUnit プロパティで指定された単位で表す SizeF 構造体を返します。
例外
font
は null
です。
例
次のコード例は Windows フォームで使用できるように設計されており、Paint イベント ハンドラーのパラメーターである PaintEventArgse
が必要です。 このコードは、次のアクションを実行します。
測定する文字列を作成し、フォント オブジェクトを Arial (16 ポイント) に設定します。
文字列の最大幅を設定します。
文字列書式指定オブジェクトを作成し、その書式フラグを DirectionVerticalに設定します。
文字列を測定するサイズ オブジェクトを作成します。
文字列、フォント オブジェクト、最大幅、および文字列形式を使用して、文字列のサイズを測定します。
文字列の測定サイズを使用して赤い四角形を描画します。
描画された四角形内に文字列を描画します。
結果は、垂直方向の文字列を囲む垂直方向の四角形になります。
public:
void MeasureStringWidthFormat( PaintEventArgs^ e )
{
// Set up string.
String^ measureString = "Measure String";
System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );
// Set maximum width of string.
int stringWidth = 100;
// Set string format.
StringFormat^ newStringFormat = gcnew StringFormat;
newStringFormat->FormatFlags = StringFormatFlags::DirectionVertical;
// Measure string.
SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, stringWidth, newStringFormat );
// Draw rectangle representing size of string.
e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );
// Draw string to screen.
e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0), newStringFormat );
}
private void MeasureStringWidthFormat(PaintEventArgs e)
{
// Set up string.
string measureString = "Measure String";
Font stringFont = new Font("Arial", 16);
// Set maximum width of string.
int stringWidth = 100;
// Set string format.
StringFormat newStringFormat = new StringFormat();
newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical;
// Measure string.
SizeF stringSize = new SizeF();
stringSize = e.Graphics.MeasureString(measureString, stringFont, stringWidth, newStringFormat);
// 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);
}
Private Sub MeasureStringWidthFormat(ByVal e As PaintEventArgs)
' Set up string.
Dim measureString As String = "Measure String"
Dim stringFont As New Font("Arial", 16)
' Set maximum width of string.
Dim stringWidth As Integer = 100
' Set string format.
Dim newStringFormat As New StringFormat
newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical
' Measure string.
Dim stringSize As New SizeF
stringSize = e.Graphics.MeasureString(measureString, stringFont, _
stringWidth, newStringFormat)
' 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)
End Sub
注釈
MeasureString メソッドは、個々の文字列で使用するように設計されており、グリフのオーバーハングを可能にするために、文字列の前後に少量の余分なスペースが含まれています。 また、DrawString メソッドは、表示品質を最適化するためにグリフ ポイントを調整し、MeasureStringによって報告される文字列よりも狭い文字列を表示する場合があります。 レイアウト内の隣接する文字列に適したメトリックを取得するには (たとえば、書式設定されたテキストを実装する場合)、MeasureCharacterRanges メソッドまたは StringFormatを受け取る MeasureString メソッドのいずれかを使用し、GenericTypographic渡します。 また、Graphics の TextRenderingHint が AntiAliasされていることを確認します。
こちらもご覧ください
- MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)
- MeasureCharacterRanges(String, Font, RectangleF, StringFormat)
- フォントとテキスト を使用した
適用対象
MeasureString(String, Font, SizeF, StringFormat)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Font で描画され、指定した StringFormatで書式設定された場合に、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, System::Drawing::SizeF layoutArea, System::Drawing::StringFormat ^ stringFormat);
public System.Drawing.SizeF MeasureString (string? text, System.Drawing.Font font, System.Drawing.SizeF layoutArea, System.Drawing.StringFormat? stringFormat);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, System.Drawing.SizeF layoutArea, System.Drawing.StringFormat stringFormat);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.SizeF * System.Drawing.StringFormat -> System.Drawing.SizeF
Public Function MeasureString (text As String, font As Font, layoutArea As SizeF, stringFormat As StringFormat) As SizeF
パラメーター
- text
- String
測定する文字列。
- stringFormat
- StringFormat
文字列の行間などの書式設定情報を表す StringFormat。
戻り値
このメソッドは、font
パラメーターと stringFormat
パラメーターで描画される text
パラメーターで指定された文字列のサイズを、PageUnit プロパティで指定された単位で表す SizeF 構造体を返します。
例外
font
は null
です。
例
次のコード例は Windows フォームで使用できるように設計されており、Paint イベント ハンドラーのパラメーターである PaintEventArgse
が必要です。 このコードは、次のアクションを実行します。
測定する文字列と Arial (16 ポイント) に設定されたフォント オブジェクトを作成します。
文字列の最大レイアウト サイズを設定し、文字列を測定するサイズ オブジェクトを作成します。
文字列書式指定オブジェクトを作成し、その書式フラグを DirectionVerticalに設定します。
文字列、フォント オブジェクト、最大レイアウト サイズ、および文字列形式を使用して、文字列のサイズを測定します。
文字列の測定サイズを使用して赤い四角形を描画します。
描画された四角形内に文字列を描画します。
結果は、垂直方向の文字列を囲む垂直方向の四角形になります。
public:
void MeasureStringSizeFFormat( PaintEventArgs^ e )
{
// Set up string.
String^ measureString = "Measure String";
System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );
// Set maximum layout size.
SizeF layoutSize = SizeF(100.0F,200.0F);
// Set string format.
StringFormat^ newStringFormat = gcnew StringFormat;
newStringFormat->FormatFlags = StringFormatFlags::DirectionVertical;
// Measure string.
SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, layoutSize, newStringFormat );
// Draw rectangle representing size of string.
e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );
// Draw string to screen.
e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0), newStringFormat );
}
private void MeasureStringSizeFFormat(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.
SizeF stringSize = new SizeF();
stringSize = e.Graphics.MeasureString(measureString, stringFont, layoutSize, newStringFormat);
// 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);
}
Private Sub MeasureStringSizeFFormat(ByVal 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(100.0F, 200.0F)
' Set string format.
Dim newStringFormat As New StringFormat
newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical
' Measure string.
Dim stringSize As New SizeF
stringSize = e.Graphics.MeasureString(measureString, stringFont, _
layoutSize, newStringFormat)
' 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)
End Sub
注釈
MeasureString メソッドは、個々の文字列で使用するように設計されており、グリフのオーバーハングを可能にするために、文字列の前後に少量の余分なスペースが含まれています。 また、DrawString メソッドは、表示品質を最適化するためにグリフ ポイントを調整し、MeasureStringによって報告される文字列よりも狭い文字列を表示する場合があります。 レイアウト内の隣接する文字列に適したメトリックを取得するには (たとえば、書式設定されたテキストを実装する場合)、MeasureCharacterRanges メソッドまたは StringFormatを受け取る MeasureString メソッドのいずれかを使用し、GenericTypographic渡します。 また、Graphics の TextRenderingHint が AntiAliasされていることを確認します。
こちらもご覧ください
- MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)
- MeasureCharacterRanges(String, Font, RectangleF, StringFormat)
- フォントとテキスト を使用した
適用対象
MeasureString(String, Font, PointF, StringFormat)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Font で描画され、指定した StringFormatで書式設定された場合に、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, System::Drawing::PointF origin, System::Drawing::StringFormat ^ stringFormat);
public System.Drawing.SizeF MeasureString (string? text, System.Drawing.Font font, System.Drawing.PointF origin, System.Drawing.StringFormat? stringFormat);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, System.Drawing.PointF origin, System.Drawing.StringFormat stringFormat);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.PointF * System.Drawing.StringFormat -> System.Drawing.SizeF
Public Function MeasureString (text As String, font As Font, origin As PointF, stringFormat As StringFormat) As SizeF
パラメーター
- text
- String
測定する文字列。
- stringFormat
- StringFormat
文字列の行間などの書式設定情報を表す StringFormat。
戻り値
このメソッドは、font
パラメーターと stringFormat
パラメーターで描画される text
パラメーターで指定された文字列のサイズを、PageUnit プロパティで指定された単位で表す SizeF 構造体を返します。
例外
font
は null
です。
例
次のコード例は Windows フォームで使用できるように設計されており、Paint イベント ハンドラーのパラメーターである PaintEventArgse
が必要です。 このコードは、次のアクションを実行します。
測定する文字列を作成し、フォント オブジェクトを Arial (16 ポイント) に設定します。
文字列の左上隅を検索するポイントを作成します。
文字列書式指定オブジェクトを作成し、その書式フラグを DirectionVerticalに設定します。
文字列を測定するサイズ オブジェクトを作成します。
文字列、フォント オブジェクト、検索ポイント、および文字列形式を使用して、文字列のサイズを測定します。
検索ポイントと文字列の測定サイズを使用して、赤い四角形を描画します。
描画された四角形内に文字列を描画します。
結果は、垂直方向の文字列を囲む垂直方向の四角形になります。
public:
void MeasureStringPointFFormat( PaintEventArgs^ e )
{
// Set up string.
String^ measureString = "Measure String";
System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );
// Set point for upper-left corner of string.
float x = 50.0F;
float y = 50.0F;
PointF ulCorner = PointF(x,y);
// Set string format.
StringFormat^ newStringFormat = gcnew StringFormat;
newStringFormat->FormatFlags = StringFormatFlags::DirectionVertical;
// Measure string.
SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, ulCorner, newStringFormat );
// Draw rectangle representing size of string.
e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), x, y, stringSize.Width, stringSize.Height );
// Draw string to screen.
e->Graphics->DrawString( measureString, stringFont, Brushes::Black, ulCorner, newStringFormat );
}
private void MeasureStringPointFFormat(PaintEventArgs e)
{
// Set up string.
string measureString = "Measure String";
Font stringFont = new Font("Arial", 16);
// Set point for upper-left corner of string.
float x = 50.0F;
float y = 50.0F;
PointF ulCorner = new PointF(x, y);
// Set string format.
StringFormat newStringFormat = new StringFormat();
newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical;
// Measure string.
SizeF stringSize = new SizeF();
stringSize = e.Graphics.MeasureString(measureString, stringFont, ulCorner, newStringFormat);
// Draw rectangle representing size of string.
e.Graphics.DrawRectangle(new Pen(Color.Red, 1), x, y, stringSize.Width, stringSize.Height);
// Draw string to screen.
e.Graphics.DrawString(measureString, stringFont, Brushes.Black, ulCorner, newStringFormat);
}
Private Sub MeasureStringPointFFormat(ByVal e As PaintEventArgs)
' Set up string.
Dim measureString As String = "Measure String"
Dim stringFont As New Font("Arial", 16)
' Set point for upper-left corner of string.
Dim x As Single = 50.0F
Dim y As Single = 50.0F
Dim ulCorner As New PointF(x, y)
' Set string format.
Dim newStringFormat As New StringFormat
newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical
' Measure string.
Dim stringSize As New SizeF
stringSize = e.Graphics.MeasureString(measureString, stringFont, _
ulCorner, newStringFormat)
' Draw rectangle representing size of string.
e.Graphics.DrawRectangle(New Pen(Color.Red, 1), x, y, _
stringSize.Width, stringSize.Height)
' Draw string to screen.
e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
ulCorner, newStringFormat)
End Sub
注釈
MeasureString メソッドは、個々の文字列で使用するように設計されており、グリフのオーバーハングを可能にするために、文字列の前後に少量の余分なスペースが含まれています。 また、DrawString メソッドは、表示品質を最適化するためにグリフ ポイントを調整し、MeasureStringによって報告される文字列よりも狭い文字列を表示する場合があります。 レイアウト内の隣接する文字列に適したメトリックを取得するには (たとえば、書式設定されたテキストを実装する場合)、MeasureCharacterRanges メソッドまたは StringFormatを受け取る MeasureString メソッドのいずれかを使用し、GenericTypographic渡します。 また、Graphics の TextRenderingHint が AntiAliasされていることを確認します。
こちらもご覧ください
- MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)
- MeasureCharacterRanges(String, Font, RectangleF, StringFormat)
- フォントとテキスト を使用した
適用対象
MeasureString(ReadOnlySpan<Char>, Font, SizeF, StringFormat)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Font で描画され、指定した StringFormatで書式設定された場合に、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::SizeF layoutArea, System::Drawing::StringFormat ^ stringFormat);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font, System.Drawing.SizeF layoutArea, System.Drawing.StringFormat? stringFormat);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.SizeF * System.Drawing.StringFormat -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, layoutArea As SizeF, stringFormat As StringFormat) As SizeF
パラメーター
- text
- ReadOnlySpan<Char>
測定する文字列。
- stringFormat
- StringFormat
文字列の行間などの書式設定情報を表す StringFormat。
戻り値
このメソッドは、font
パラメーターと stringFormat
パラメーターで描画される text
パラメーターで指定された文字列のサイズを、PageUnit プロパティで指定された単位で表す SizeF 構造体を返します。
適用対象
MeasureString(ReadOnlySpan<Char>, Font)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Fontで描画されたときに、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font) As SizeF
パラメーター
- text
- ReadOnlySpan<Char>
測定する文字列。
戻り値
このメソッドは、font
パラメーターで描画される text
パラメーターで指定された文字列の、PageUnit プロパティで指定された単位でサイズを表す SizeF 構造体を返します。
適用対象
MeasureString(String, Font, Int32)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Fontで描画されたときに、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, int width);
public System.Drawing.SizeF MeasureString (string? text, System.Drawing.Font font, int width);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, int width);
member this.MeasureString : string * System.Drawing.Font * int -> System.Drawing.SizeF
Public Function MeasureString (text As String, font As Font, width As Integer) As SizeF
パラメーター
- text
- String
測定する文字列。
- width
- Int32
文字列の最大幅 (ピクセル単位)。
戻り値
このメソッドは、font
パラメーターで描画される text
パラメーターで指定された文字列のサイズを、PageUnit プロパティで指定された単位で表す SizeF 構造体を返します。
例外
font
は null
です。
例
次のコード例は Windows フォームで使用できるように設計されており、Paint イベント ハンドラーのパラメーターである PaintEventArgse
が必要です。 このコードは、次のアクションを実行します。
測定する文字列と Arial (16 ポイント) に設定されたフォント オブジェクトを作成します。
文字列の最大幅を設定します。
size オブジェクトを作成し、それを使用し、フォント オブジェクト、および文字列の最大幅を使用して、文字列のサイズを測定します。
文字列の測定サイズを使用して赤い四角形を描画します。
描画された四角形内に文字列を描画します。
public:
void MeasureStringWidth( PaintEventArgs^ e )
{
// Set up string.
String^ measureString = "Measure String";
System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );
// Set maximum width of string.
int stringWidth = 200;
// Measure string.
SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, stringWidth );
// Draw rectangle representing size of string.
e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );
// Draw string to screen.
e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0) );
}
private void MeasureStringWidth(PaintEventArgs e)
{
// Set up string.
string measureString = "Measure String";
Font stringFont = new Font("Arial", 16);
// Set maximum width of string.
int stringWidth = 200;
// Measure string.
SizeF stringSize = new SizeF();
stringSize = e.Graphics.MeasureString(measureString, stringFont, stringWidth);
// 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));
}
Private Sub MeasureStringWidth(ByVal e As PaintEventArgs)
' Set up string.
Dim measureString As String = "Measure String"
Dim stringFont As New Font("Arial", 16)
' Set maximum width of string.
Dim stringWidth As Integer = 200
' Measure string.
Dim stringSize As New SizeF
stringSize = e.Graphics.MeasureString(measureString, _
stringFont, stringWidth)
' 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))
End Sub
注釈
width
パラメーターは、返される SizeF 構造体 (Width) の幅コンポーネントの最大値を指定します。
width
パラメーターが文字列の実際の幅より小さい場合、返される Width コンポーネントは、指定した幅に収まる最大文字数を表す値に切り捨てられます。 文字列全体を格納するために、返される Height コンポーネントは、文字列を文字ラップで表示できる値に調整されます。
MeasureString メソッドは、個々の文字列で使用するように設計されており、グリフのオーバーハングを可能にするために、文字列の前後に少量の余分なスペースが含まれています。 また、DrawString メソッドは、表示品質を最適化するためにグリフ ポイントを調整し、MeasureStringによって報告される文字列よりも狭い文字列を表示する場合があります。 レイアウト内の隣接する文字列に適したメトリックを取得するには (たとえば、書式設定されたテキストを実装する場合)、MeasureCharacterRanges メソッドまたは StringFormatを受け取る MeasureString メソッドのいずれかを使用し、GenericTypographic渡します。 また、Graphics の TextRenderingHint が AntiAliasされていることを確認します。
こちらもご覧ください
- MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)
- MeasureCharacterRanges(String, Font, RectangleF, StringFormat)
- フォントとテキスト を使用した
適用対象
MeasureString(String, Font, SizeF)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定したレイアウト領域内の指定した Font で描画されるときに、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, System::Drawing::SizeF layoutArea);
public System.Drawing.SizeF MeasureString (string? text, System.Drawing.Font font, System.Drawing.SizeF layoutArea);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, System.Drawing.SizeF layoutArea);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.SizeF -> System.Drawing.SizeF
Public Function MeasureString (text As String, font As Font, layoutArea As SizeF) As SizeF
パラメーター
- text
- String
測定する文字列。
戻り値
このメソッドは、font
パラメーターで描画される text
パラメーターで指定された文字列の、PageUnit プロパティで指定された単位でサイズを表す SizeF 構造体を返します。
例外
font
は null
です。
例
次のコード例は Windows フォームで使用できるように設計されており、Paint イベント ハンドラーのパラメーターである PaintEventArgse
が必要です。 このコードは、次のアクションを実行します。
測定する文字列と Arial (16 ポイント) に設定されたフォント オブジェクトを作成します。
文字列の最大レイアウト サイズを設定します。
size オブジェクトを作成し、それを使用し、フォント オブジェクト、および最大レイアウト サイズを使用して文字列のサイズを測定します。
文字列の測定サイズを使用して赤い四角形を描画します。
描画された四角形内に文字列を描画します。
public:
void MeasureStringSizeF( PaintEventArgs^ e )
{
// Set up string.
String^ measureString = "Measure String";
System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );
// Set maximum layout size.
SizeF layoutSize = SizeF(200.0F,50.0F);
// Measure string.
SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, layoutSize );
// Draw rectangle representing size of string.
e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );
// Draw string to screen.
e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0) );
}
private void MeasureStringSizeF(PaintEventArgs e)
{
// Set up string.
string measureString = "Measure String";
Font stringFont = new Font("Arial", 16);
// Set maximum layout size.
SizeF layoutSize = new SizeF(200.0F, 50.0F);
// Measure string.
SizeF stringSize = new SizeF();
stringSize = e.Graphics.MeasureString(measureString, stringFont, layoutSize);
// 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));
}
Private Sub MeasureStringSizeF(ByVal 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(200.0F, 50.0F)
' Measure string.
Dim stringSize As New SizeF
stringSize = e.Graphics.MeasureString(measureString, stringFont, _
layoutSize)
' 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))
End Sub
注釈
MeasureString メソッドは、個々の文字列で使用するように設計されており、グリフのオーバーハングを可能にするために、文字列の前後に少量の余分なスペースが含まれています。 また、DrawString メソッドは、表示品質を最適化するためにグリフ ポイントを調整し、MeasureStringによって報告される文字列よりも狭い文字列を表示する場合があります。 レイアウト内の隣接する文字列に適したメトリックを取得するには (たとえば、書式設定されたテキストを実装する場合)、MeasureCharacterRanges メソッドまたは StringFormatを受け取る MeasureString メソッドのいずれかを使用し、GenericTypographic渡します。 また、Graphics の TextRenderingHint が AntiAliasされていることを確認します。
こちらもご覧ください
- MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)
- MeasureCharacterRanges(String, Font, RectangleF, StringFormat)
- フォントとテキスト を使用した
適用対象
MeasureString(ReadOnlySpan<Char>, Font, Int32)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Fontで描画されたときに、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font, int width);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font, int width);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * int -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, width As Integer) As SizeF
パラメーター
- text
- ReadOnlySpan<Char>
測定する文字列。
- width
- Int32
文字列の最大幅 (ピクセル単位)。
戻り値
このメソッドは、font
パラメーターで描画される text
パラメーターで指定された文字列のサイズを、PageUnit プロパティで指定された単位で表す SizeF 構造体を返します。
適用対象
MeasureString(ReadOnlySpan<Char>, Font, SizeF)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定したレイアウト領域内の指定した Font で描画されるときに、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::SizeF layoutArea);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font, System.Drawing.SizeF layoutArea);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.SizeF -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, layoutArea As SizeF) As SizeF
パラメーター
- text
- ReadOnlySpan<Char>
測定する文字列。
戻り値
このメソッドは、font
パラメーターで描画される text
パラメーターで指定された文字列の、PageUnit プロパティで指定された単位でサイズを表す SizeF 構造体を返します。
適用対象
MeasureString(String, Font)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Fontで描画されたときに、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font);
public System.Drawing.SizeF MeasureString (string? text, System.Drawing.Font font);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font);
member this.MeasureString : string * System.Drawing.Font -> System.Drawing.SizeF
Public Function MeasureString (text As String, font As Font) As SizeF
パラメーター
- text
- String
測定する文字列。
戻り値
このメソッドは、font
パラメーターで描画される text
パラメーターで指定された文字列の、PageUnit プロパティで指定された単位でサイズを表す SizeF 構造体を返します。
例外
font
は null
です。
font
は null
です。
例
次のコード例は Windows フォームで使用できるように設計されており、Paint イベント ハンドラーのパラメーターである PaintEventArgse
が必要です。 このコードは、次のアクションを実行します。
測定する文字列を作成します。
フォント オブジェクトを作成し、Arial (16 ポイント) に設定します。
size オブジェクトを作成し、それを使用し、フォント オブジェクトを使用して文字列のサイズを測定します。
文字列の測定サイズを使用して赤い四角形を描画します。
描画された四角形内に文字列を描画します。
public:
void MeasureStringMin( PaintEventArgs^ e )
{
// Set up string.
String^ measureString = "Measure String";
System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );
// Measure string.
SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont );
// Draw rectangle representing size of string.
e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );
// Draw string to screen.
e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0) );
}
private 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));
}
Private Sub MeasureStringMin(ByVal 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), 0.0F, 0.0F, _
stringSize.Width, stringSize.Height)
' Draw string to screen.
e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
New PointF(0, 0))
End Sub
注釈
MeasureString メソッドは、個々の文字列で使用するように設計されており、グリフのオーバーハングを可能にするために、文字列の前後に少量の余分なスペースが含まれています。 また、DrawString メソッドは、表示品質を最適化するためにグリフ ポイントを調整し、MeasureStringによって報告される文字列よりも狭い文字列を表示する場合があります。 レイアウト内の隣接する文字列に適したメトリックを取得するには (たとえば、書式設定されたテキストを実装する場合)、MeasureCharacterRanges メソッドまたは StringFormatを受け取る MeasureString メソッドのいずれかを使用し、GenericTypographic渡します。 また、Graphics の TextRenderingHint が AntiAliasされていることを確認します。
こちらもご覧ください
- MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)
- MeasureCharacterRanges(String, Font, RectangleF, StringFormat)
- フォントとテキスト を使用した
適用対象
MeasureString(ReadOnlySpan<Char>, Font, PointF, StringFormat)
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
- ソース:
- Graphics.cs
指定した Font で描画され、指定した StringFormatで書式設定された場合に、指定した文字列を測定します。
public:
System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::PointF origin, System::Drawing::StringFormat ^ stringFormat);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font, System.Drawing.PointF origin, System.Drawing.StringFormat? stringFormat);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.PointF * System.Drawing.StringFormat -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, origin As PointF, stringFormat As StringFormat) As SizeF
パラメーター
- text
- ReadOnlySpan<Char>
測定する文字列。
- stringFormat
- StringFormat
文字列の行間などの書式設定情報を表す StringFormat。
戻り値
このメソッドは、font
パラメーターと stringFormat
パラメーターで描画される text
パラメーターで指定された文字列のサイズを、PageUnit プロパティで指定された単位で表す SizeF 構造体を返します。
適用対象
.NET