Поделиться через


Graphics.MeasureString Метод

Определение

Измеряет указанную строку при рисовании с указанным Font.

Перегрузки

MeasureString(ReadOnlySpan<Char>, Font, Int32, StringFormat)

Измеряет указанную строку при рисовании с указанным Font и отформатировано указанным StringFormat.

MeasureString(String, Font, SizeF, StringFormat, Int32, Int32)

Измеряет указанную строку при рисовании с указанным Font и отформатировано указанным StringFormat.

MeasureString(ReadOnlySpan<Char>, Font, SizeF, StringFormat, Int32, Int32)

Измеряет указанную строку при рисовании с указанным Font и отформатировано указанным StringFormat.

MeasureString(String, Font, Int32, StringFormat)

Измеряет указанную строку при рисовании с указанным Font и отформатировано указанным StringFormat.

MeasureString(String, Font, SizeF, StringFormat)

Измеряет указанную строку при рисовании с указанным Font и отформатировано указанным StringFormat.

MeasureString(String, Font, PointF, StringFormat)

Измеряет указанную строку при рисовании с указанным Font и отформатировано указанным StringFormat.

MeasureString(ReadOnlySpan<Char>, Font, SizeF, StringFormat)

Измеряет указанную строку при рисовании с указанным Font и отформатировано указанным StringFormat.

MeasureString(ReadOnlySpan<Char>, Font)

Измеряет указанную строку при рисовании с указанным Font.

MeasureString(String, Font, Int32)

Измеряет указанную строку при рисовании с указанным Font.

MeasureString(String, Font, SizeF)

Измеряет указанную строку при рисовании с указанным Font в указанной области макета.

MeasureString(ReadOnlySpan<Char>, Font, Int32)

Измеряет указанную строку при рисовании с указанным Font.

MeasureString(ReadOnlySpan<Char>, Font, SizeF)

Измеряет указанную строку при рисовании с указанным Font в указанной области макета.

MeasureString(String, Font)

Измеряет указанную строку при рисовании с указанным Font.

MeasureString(ReadOnlySpan<Char>, Font, PointF, StringFormat)

Измеряет указанную строку при рисовании с указанным Font и отформатировано указанным StringFormat.

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>

Строка для измерения.

font
Font

Font, определяющий текстовый формат строки.

width
Int32

Максимальная ширина строки.

format
StringFormat

StringFormat, представляющий сведения о форматировании, такие как интервалы строк, для строки.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной в параметре text, как показано с параметром font и параметром stringFormat.

Применяется к

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

Строка для измерения.

font
Font

Font, определяющий текстовый формат строки.

layoutArea
SizeF

SizeF структура, указывающая максимальную область макета для текста.

stringFormat
StringFormat

StringFormat, представляющий сведения о форматировании, такие как интервалы строк, для строки.

charactersFitted
Int32

Число символов в строке.

linesFilled
Int32

Число текстовых строк в строке.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер строки в единицах, указанных свойством PageUnit, параметра text, как показано с параметром font и параметром stringFormat.

Исключения

font null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает строку для измерения и объекта шрифта, заданного для 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 или один из методов MeasureString, которые принимают StringFormat и передают GenericTypographic. Кроме того, AntiAliasAntiAliasTextRenderingHint для Graphics.

См. также раздел

Применяется к

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>

Строка для измерения.

font
Font

Font, определяющий текстовый формат строки.

layoutArea
SizeF

SizeF структура, указывающая максимальную область макета для текста.

stringFormat
StringFormat

StringFormat, представляющий сведения о форматировании, такие как интервалы строк, для строки.

charactersFitted
Int32

Число символов в строке.

linesFilled
Int32

Число текстовых строк в строке.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер строки в единицах, указанных свойством PageUnit, параметра text, как показано с параметром font и параметром stringFormat.

Применяется к

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

Строка для измерения.

font
Font

Font, определяющий текстовый формат строки.

width
Int32

Максимальная ширина строки.

format
StringFormat

StringFormat, представляющий сведения о форматировании, такие как интервалы строк, для строки.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной в параметре text, как показано с параметром font и параметром stringFormat.

Исключения

font null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает строку для измерения и объекта шрифта, задала ему значение 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 или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

См. также раздел

Применяется к

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

Строка для измерения.

font
Font

Font определяет текстовый формат строки.

layoutArea
SizeF

SizeF структура, указывающая максимальную область макета для текста.

stringFormat
StringFormat

StringFormat, представляющий сведения о форматировании, такие как интервалы строк, для строки.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной в параметре text, как показано с параметром font и параметром stringFormat.

Исключения

font null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает строку для измерения и объекта шрифта, заданного как 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 или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

См. также раздел

Применяется к

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

Строка для измерения.

font
Font

Font определяет текстовый формат строки.

origin
PointF

PointF структура, представляющая левый верхний угол строки.

stringFormat
StringFormat

StringFormat, представляющий сведения о форматировании, такие как интервалы строк, для строки.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной параметром text, как показано с параметром font и параметром stringFormat.

Исключения

font null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает строку для измерения и объекта шрифта, заданного для 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 или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

См. также раздел

Применяется к

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>

Строка для измерения.

font
Font

Font определяет текстовый формат строки.

layoutArea
SizeF

SizeF структура, указывающая максимальную область макета для текста.

stringFormat
StringFormat

StringFormat, представляющий сведения о форматировании, такие как интервалы строк, для строки.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной в параметре text, как показано с параметром font и параметром stringFormat.

Применяется к

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
Font

Font, определяющий текстовый формат строки.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной параметром text, как показано с параметром font.

Применяется к

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

Строка для измерения.

font
Font

Font, определяющий формат строки.

width
Int32

Максимальная ширина строки в пикселях.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной в параметре text, как показано с параметром font.

Исключения

font null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает строку для измерения и объекта шрифта, заданного как Arial (16 точек).

  • Задает максимальную ширину строки.

  • Создает объект размера и использует его, объект шрифта и максимальную ширину строки для измерения размера строки.

  • Рисует красный прямоугольник с помощью измеренного размера строки.

  • Рисует строку в прямоугольнике рисования.

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 или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

См. также раздел

Применяется к

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
Font

Font определяет текстовый формат строки.

layoutArea
SizeF

SizeF структура, указывающая максимальную область макета для текста.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной параметром text, как показано с параметром font.

Исключения

font null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает строку для измерения и объекта шрифта, заданного как Arial (16 точек).

  • Задает максимальный размер макета строки.

  • Создает объект размера и использует его, объект шрифта и максимальный размер макета для измерения размера строки.

  • Рисует красный прямоугольник с помощью измеренного размера строки.

  • Рисует строку в прямоугольнике рисования.

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 или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

См. также раздел

Применяется к

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>

Строка для измерения.

font
Font

Font, определяющий формат строки.

width
Int32

Максимальная ширина строки в пикселях.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной в параметре text, как показано с параметром font.

Применяется к

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
Font

Font определяет текстовый формат строки.

layoutArea
SizeF

SizeF структура, указывающая максимальную область макета для текста.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной параметром text, как показано с параметром font.

Применяется к

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
Font

Font, определяющий текстовый формат строки.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной параметром text, как показано с параметром font.

Исключения

font null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает строку для измерения.

  • Создает объект шрифта и задает для него значение Arial (16 точек).

  • Создает объект размера и использует его и объект шрифта для измерения размера строки.

  • Рисует красный прямоугольник с помощью измеренного размера строки.

  • Рисует строку в прямоугольнике рисования.

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 или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

См. также раздел

Применяется к

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>

Строка для измерения.

font
Font

Font определяет текстовый формат строки.

origin
PointF

PointF структура, представляющая левый верхний угол строки.

stringFormat
StringFormat

StringFormat, представляющий сведения о форматировании, такие как интервалы строк, для строки.

Возвращаемое значение

Этот метод возвращает SizeF структуру, представляющую размер в единицах, указанных свойством PageUnit, строки, указанной параметром text, как показано с параметром font и параметром stringFormat.

Применяется к