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);

Параметры

text
ReadOnlySpan<Char>

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

font
Font

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

width
Int32

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

format
StringFormat

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

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

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 8, 9
Windows Desktop 8, 9

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

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

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

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);

Параметры

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 и объект размера для измерения строки.

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

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

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

  • Рисует значения количества символов, установленных и заполненных линий.

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

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));
}

Комментарии

Метод MeasureString предназначен для использования с отдельными строками и включает небольшое количество дополнительного пространства до и после строки, чтобы разрешить перевес глифов. Кроме того, метод DrawString настраивает точки глифа для оптимизации качества отображения и может отображаться более узкий строк, чем сообщается в MeasureString. Чтобы получить метрики, подходящие для смежных строк в макете (например, при реализации форматированного текста), используйте метод MeasureCharacterRanges или один из методов MeasureString, которые принимают StringFormat и передают GenericTypographic. Кроме того, AntiAliasAntiAliasTextRenderingHint для Graphics.

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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, out int charactersFitted, out int linesFilled);

Параметры

text
ReadOnlySpan<Char>

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

font
Font

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

layoutArea
SizeF

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

stringFormat
StringFormat

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

charactersFitted
Int32

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

linesFilled
Int32

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

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

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 8, 9
Windows Desktop 8, 9

MeasureString(String, Font, Int32, StringFormat)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

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

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);

Параметры

text
String

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

font
Font

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

width
Int32

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

format
StringFormat

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

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

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

Исключения

font null.

Примеры

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

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

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

  • Создает объект формата строки и задает флаги формата для DirectionVertical.

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

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

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

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

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

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);
}

Комментарии

Метод MeasureString предназначен для использования с отдельными строками и включает небольшое количество дополнительного пространства до и после строки, чтобы разрешить перевес глифов. Кроме того, метод DrawString настраивает точки глифа для оптимизации качества отображения и может отображаться более узкий строк, чем сообщается в MeasureString. Чтобы получить метрики, подходящие для смежных строк в макете (например, при реализации форматированного текста), используйте метод MeasureCharacterRanges или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

MeasureString(String, Font, SizeF, StringFormat)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

Измеряет указанную строку при рисовании с указанным Font и отформатировано указанным 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);

Параметры

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.

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

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

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

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

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);
}

Комментарии

Метод MeasureString предназначен для использования с отдельными строками и включает небольшое количество дополнительного пространства до и после строки, чтобы разрешить перевес глифов. Кроме того, метод DrawString настраивает точки глифа для оптимизации качества отображения и может отображаться более узкий строк, чем сообщается в MeasureString. Чтобы получить метрики, подходящие для смежных строк в макете (например, при реализации форматированного текста), используйте метод MeasureCharacterRanges или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

MeasureString(String, Font, PointF, StringFormat)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

Измеряет указанную строку при рисовании с указанным Font и отформатировано указанным 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);

Параметры

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.

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

  • Измеряет размер строки, используя строку, объект шрифта, точку поиска и формат строки.

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

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

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

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);
}

Комментарии

Метод MeasureString предназначен для использования с отдельными строками и включает небольшое количество дополнительного пространства до и после строки, чтобы разрешить перевес глифов. Кроме того, метод DrawString настраивает точки глифа для оптимизации качества отображения и может отображаться более узкий строк, чем сообщается в MeasureString. Чтобы получить метрики, подходящие для смежных строк в макете (например, при реализации форматированного текста), используйте метод MeasureCharacterRanges или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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);

Параметры

text
ReadOnlySpan<Char>

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

font
Font

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

layoutArea
SizeF

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

stringFormat
StringFormat

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

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

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 8, 9
Windows Desktop 8, 9

MeasureString(ReadOnlySpan<Char>, Font)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

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

public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font);

Параметры

text
ReadOnlySpan<Char>

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

font
Font

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

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

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 8, 9
Windows Desktop 8, 9

MeasureString(String, Font, Int32)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

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

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);

Параметры

text
String

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

font
Font

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

width
Int32

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

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

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

Исключения

font null.

Примеры

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

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

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

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

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

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

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));
}

Комментарии

Параметр width задает максимальное значение компонента ширины возвращаемой SizeF структуры (Width). Если параметр width меньше фактической ширины строки, возвращенный компонент Width усечен до значения, представляющего максимальное число символов, которые будут соответствовать указанной ширине. Чтобы вместить всю строку, возвращаемый компонент Height настраивается на значение, позволяющее отображать строку с помощью оболочки символов.

Метод MeasureString предназначен для использования с отдельными строками и включает небольшое количество дополнительного пространства до и после строки, чтобы разрешить перевес глифов. Кроме того, метод DrawString настраивает точки глифа для оптимизации качества отображения и может отображаться более узкий строк, чем сообщается в MeasureString. Чтобы получить метрики, подходящие для смежных строк в макете (например, при реализации форматированного текста), используйте метод MeasureCharacterRanges или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

MeasureString(String, Font, SizeF)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

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

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);

Параметры

text
String

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

font
Font

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

layoutArea
SizeF

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

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

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

Исключения

font null.

Примеры

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

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

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

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

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

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

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));
}

Комментарии

Метод MeasureString предназначен для использования с отдельными строками и включает небольшое количество дополнительного пространства до и после строки, чтобы разрешить перевес глифов. Кроме того, метод DrawString настраивает точки глифа для оптимизации качества отображения и может отображаться более узкий строк, чем сообщается в MeasureString. Чтобы получить метрики, подходящие для смежных строк в макете (например, при реализации форматированного текста), используйте метод MeasureCharacterRanges или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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);

Параметры

text
ReadOnlySpan<Char>

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

font
Font

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

width
Int32

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

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

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 8, 9
Windows Desktop 8, 9

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);

Параметры

text
ReadOnlySpan<Char>

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

font
Font

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

layoutArea
SizeF

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

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

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 8, 9
Windows Desktop 8, 9

MeasureString(String, Font)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

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

public System.Drawing.SizeF MeasureString (string? text, System.Drawing.Font font);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font);

Параметры

text
String

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

font
Font

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

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

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

Исключения

font null.

Примеры

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

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

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

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

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

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

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));
}

Комментарии

Метод MeasureString предназначен для использования с отдельными строками и включает небольшое количество дополнительного пространства до и после строки, чтобы разрешить перевес глифов. Кроме того, метод DrawString настраивает точки глифа для оптимизации качества отображения и может отображаться более узкий строк, чем сообщается в MeasureString. Чтобы получить метрики, подходящие для смежных строк в макете (например, при реализации форматированного текста), используйте метод MeasureCharacterRanges или один из методов MeasureString, который принимает StringFormat, и передать GenericTypographic. Кроме того, убедитесь, что TextRenderingHint для GraphicsAntiAlias.

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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);

Параметры

text
ReadOnlySpan<Char>

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

font
Font

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

origin
PointF

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

stringFormat
StringFormat

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

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

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

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

.NET 9 және басқа нұсқалар
Өнім Нұсқалар
.NET 8, 9
Windows Desktop 8, 9