Graphics.MeasureString Graphics.MeasureString Graphics.MeasureString Method

Definice

Měří zadaného řetězce při vykreslení se zadaným Font.Measures the specified string when drawn with the specified Font.

Přetížení

MeasureString(String, Font) MeasureString(String, Font) MeasureString(String, Font)

Měří zadaného řetězce při vykreslení se zadaným Font.Measures the specified string when drawn with the specified Font.

MeasureString(String, Font, SizeF) MeasureString(String, Font, SizeF) MeasureString(String, Font, SizeF)

Měří zadaného řetězce při vykreslení se zadaným Font v rámci oblasti zadaného rozložení.Measures the specified string when drawn with the specified Font within the specified layout area.

MeasureString(String, Font, Int32) MeasureString(String, Font, Int32) MeasureString(String, Font, Int32)

Měří zadaného řetězce při vykreslení se zadaným Font.Measures the specified string when drawn with the specified Font.

MeasureString(String, Font, PointF, StringFormat) MeasureString(String, Font, PointF, StringFormat) MeasureString(String, Font, PointF, StringFormat)

Měří zadaného řetězce při vykreslení se zadaným Font a naformátovaná za použití zadaného StringFormat.Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

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

Měří zadaného řetězce při vykreslení se zadaným Font a naformátovaná za použití zadaného StringFormat.Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

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

Měří zadaného řetězce při vykreslení se zadaným Font a naformátovaná za použití zadaného StringFormat.Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

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

Měří zadaného řetězce při vykreslení se zadaným Font a naformátovaná za použití zadaného StringFormat.Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

MeasureString(String, Font) MeasureString(String, Font) MeasureString(String, Font)

Měří zadaného řetězce při vykreslení se zadaným Font.Measures the specified string when drawn with the specified Font.

public:
 System::Drawing::SizeF MeasureString(System::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

Parametry

text
String String String

Řetězec k měření.String to measure.

font
Font Font Font

Font který definuje formát textového řetězce.Font that defines the text format of the string.

Návraty

Tato metoda vrátí hodnotu SizeF struktura, která představuje velikost v jednotkách zadaných PageUnit vlastnost řetězec určený text parametru, jak nakreslit font parametr.This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified by the text parameter as drawn with the font parameter.

Výjimky

Příklady

Následující příklad kódu je určený k použití pomocí Windows Forms a vyžaduje PaintEventArgs e, což je parametr Paint obslužné rutiny události.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Kód provede následující akce:The code performs the following actions:

  • Vytvoří řetězec k měření.Creates a string to measure.

  • Vytvoří objekt písma a nastaví na Arial (16 bod).Creates a font object and sets it to Arial (16 point).

  • Vytvoří objekt velikost a používá ho a objekt písma k měření velikosti řetězce.Creates a size object and uses it and the font object to measure the size of the string.

  • Kreslení obdélníku red pomocí měřené velikost řetězce.Draws a red rectangle using the measured size of the string.

  • Nakreslí řetězce v kresleném obdélník.Draws the string within the drawn rectangle.

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

Poznámky

MeasureString Metoda je určená pro použití u jednotlivých řetězců a obsahuje malé množství mezery před a po řetězec umožňující overhanging glyfů.The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. Také DrawString metoda upraví glyfu body k optimalizaci kvality zobrazení a užší než hlášených řetězec se může zobrazit MeasureString.Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. Chcete-li získat metriky, které jsou vhodné pro sousední řetězce v rozložení (například při implementaci formátovaného textu), použijte MeasureCharacterRanges metody nebo jeden z MeasureString metody, které přijímá StringFormata předat GenericTypographic.To obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. Také se ujistěte, TextRenderingHint pro Graphics je AntiAlias.Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

Viz také

MeasureString(String, Font, SizeF) MeasureString(String, Font, SizeF) MeasureString(String, Font, SizeF)

Měří zadaného řetězce při vykreslení se zadaným Font v rámci oblasti zadaného rozložení.Measures the specified string when drawn with the specified Font within the specified layout area.

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);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.SizeF -> System.Drawing.SizeF

Parametry

text
String String String

Řetězec k měření.String to measure.

font
Font Font Font

Font Definuje formát textového řetězce.Font defines the text format of the string.

layoutArea
SizeF SizeF SizeF

SizeF Struktura, která určuje maximální rozložení oblast textu.SizeF structure that specifies the maximum layout area for the text.

Návraty

Tato metoda vrátí hodnotu SizeF struktura, která představuje velikost v jednotkách zadaných PageUnit vlastnost řetězec určený text parametru, jak nakreslit font parametr.This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified by the text parameter as drawn with the font parameter.

Výjimky

Příklady

Následující příklad kódu je určený k použití pomocí Windows Forms a vyžaduje PaintEventArgs e, což je parametr Paint obslužné rutiny události.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Kód provede následující akce:The code performs the following actions:

  • Vytvoří řetězec k měření a písma objekt nastavený na Arial (16 bod).Creates a string to measure and a font object set to Arial (16 point).

  • Nastaví maximální rozložení velikost řetězce.Sets the maximum layout size of the string.

  • Vytvoří objekt velikost a používá ho, objekt písma a velikost maximální rozložení pro měření velikosti řetězce.Creates a size object and uses it, the font object, and the maximum layout size to measure the size of the string.

  • Kreslení obdélníku red pomocí měřené velikost řetězce.Draws a red rectangle using the measured size of the string.

  • Nakreslí řetězce v kresleném obdélník.Draws the string within the drawn rectangle.

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

Poznámky

MeasureString Metoda je určená pro použití u jednotlivých řetězců a obsahuje malé množství mezery před a po řetězec umožňující overhanging glyfů.The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. Také DrawString metoda upraví glyfu body k optimalizaci kvality zobrazení a užší než hlášených řetězec se může zobrazit MeasureString.Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. Chcete-li získat metriky, které jsou vhodné pro sousední řetězce v rozložení (například při implementaci formátovaného textu), použijte MeasureCharacterRanges metody nebo jeden z MeasureString metody, které přijímá StringFormata předat GenericTypographic.To obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. Také se ujistěte, TextRenderingHint pro Graphics je AntiAlias.Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

Viz také

MeasureString(String, Font, Int32) MeasureString(String, Font, Int32) MeasureString(String, Font, Int32)

Měří zadaného řetězce při vykreslení se zadaným Font.Measures the specified string when drawn with the specified 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);
member this.MeasureString : string * System.Drawing.Font * int -> System.Drawing.SizeF

Parametry

text
String String String

Řetězec k měření.String to measure.

font
Font Font Font

Font který definuje formát řetězce.Font that defines the format of the string.

width
Int32 Int32 Int32

Maximální šířka řetězce v pixelech.Maximum width of the string in pixels.

Návraty

Tato metoda vrátí hodnotu SizeF struktura, která představuje velikost v jednotkách zadaných PageUnit vlastnost řetězec zadaný v poli text parametru, jak je vykreslen pomocí font parametr.This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified in the text parameter as drawn with the font parameter.

Výjimky

Příklady

Následující příklad kódu je určený k použití pomocí Windows Forms a vyžaduje PaintEventArgs e, což je parametr Paint obslužné rutiny události.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Kód provede následující akce:The code performs the following actions:

  • Vytvoří řetězec k měření a písma objekt nastavený na Arial (16 bod).Creates a string to measure and a font object set to Arial (16 point).

  • Nastavuje maximální šířku řetězce.Sets the maximum width of the string.

  • Vytvoří objekt velikost a používá ho, objekt písma a šířku maximální řetězec měření velikosti řetězce.Creates a size object and uses it, the font object, and the maximum string width to measure the size of the string.

  • Kreslení obdélníku red pomocí měřené velikost řetězce.Draws a red rectangle using the measured size of the string.

  • Nakreslí řetězce v kresleném obdélník.Draws the string within the drawn rectangle.

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

Poznámky

width Parametr určuje maximální hodnotu šířky součásti vráceného SizeF strukturu (Width).The width parameter specifies the maximum value of the width component of the returned SizeF structure (Width). Pokud width parametru je menší než skutečné šířka řetězce vráceného Width komponenty se zkrátí na hodnotu představující maximální počet znaků, které se vejde zadané šířce.If the width parameter is less than the actual width of the string, the returned Width component is truncated to a value representing the maximum number of characters that will fit within the specified width. S ohledem celý řetězec vrácený Height komponenty se upraví na hodnotu, která umožňuje zobrazování řetězec s zalamování znaků.To accommodate the entire string, the returned Height component is adjusted to a value that allows displaying the string with character wrap.

MeasureString Metoda je určená pro použití u jednotlivých řetězců a obsahuje malé množství mezery před a po řetězec umožňující overhanging glyfů.The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. Také DrawString metoda upraví glyfu body k optimalizaci kvality zobrazení a užší než hlášených řetězec se může zobrazit MeasureString.Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. Chcete-li získat metriky, které jsou vhodné pro sousední řetězce v rozložení (například při implementaci formátovaného textu), použijte MeasureCharacterRanges metody nebo jeden z MeasureString metody, které přijímá StringFormata předat GenericTypographic.To obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. Také se ujistěte, TextRenderingHint pro Graphics je AntiAlias.Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

Viz také

MeasureString(String, Font, PointF, StringFormat) MeasureString(String, Font, PointF, StringFormat) MeasureString(String, Font, PointF, StringFormat)

Měří zadaného řetězce při vykreslení se zadaným Font a naformátovaná za použití zadaného StringFormat.Measures the specified string when drawn with the specified Font and formatted with the specified 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);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.PointF * System.Drawing.StringFormat -> System.Drawing.SizeF

Parametry

text
String String String

Řetězec k měření.String to measure.

font
Font Font Font

Font Definuje formát textového řetězce.Font defines the text format of the string.

origin
PointF PointF PointF

PointF Struktura, která představuje levém horním rohu řetězce.PointF structure that represents the upper-left corner of the string.

stringFormat
StringFormat StringFormat StringFormat

StringFormat informace o formátování, jako je například řádkování pro řetězec, který představuje.StringFormat that represents formatting information, such as line spacing, for the string.

Návraty

Tato metoda vrátí hodnotu SizeF struktura, která představuje velikost v jednotkách zadaných PageUnit vlastnost řetězec určený text parametru, jak nakreslit font parametr a stringFormat parametr.This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified by the text parameter as drawn with the font parameter and the stringFormat parameter.

Výjimky

Příklady

Následující příklad kódu je určený k použití pomocí Windows Forms a vyžaduje PaintEventArgs e, což je parametr Paint obslužné rutiny události.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Kód provede následující akce:The code performs the following actions:

  • Vytvoří řetězec k měření a písma objekt nastavený na Arial (16 bodu)Creates a string to measure and a font object set to Arial (16 point)

  • Vytvoří bod najít levém horním rohu řetězce.Creates a point to locate the upper-left corner of the string.

  • Vytvoří objekt řetězec formátu a nastaví její příznaky formátu DirectionVertical.Creates a string format object and sets its format flags to DirectionVertical.

  • Vytvoří objekt velikost měření řetězec.Creates a size object to measure the string.

  • Měří velikost řetězce, pomocí řetězec, objekt písma, vyhledáním bodu a formát řetězce.Measures the size of the string, using the string, the font object, the locating point, and the string format.

  • Kreslení obdélníku red pomocí vyhledáním bodu a měřitelných velikost řetězce.Draws a red rectangle using the locating point and the measured size of the string.

  • Nakreslí řetězce v kresleném obdélník.Draws the string within the drawn rectangle.

Výsledkem je svislý obdélník uzavírající svislé řetězec.The result is a vertical rectangle enclosing a vertical string.

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

Poznámky

MeasureString Metoda je určená pro použití u jednotlivých řetězců a obsahuje malé množství mezery před a po řetězec umožňující overhanging glyfů.The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. Také DrawString metoda upraví glyfu body k optimalizaci kvality zobrazení a užší než hlášených řetězec se může zobrazit MeasureString.Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. Chcete-li získat metriky, které jsou vhodné pro sousední řetězce v rozložení (například při implementaci formátovaného textu), použijte MeasureCharacterRanges metody nebo jeden z MeasureString metody, které přijímá StringFormata předat GenericTypographic.To obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. Také se ujistěte, TextRenderingHint pro Graphics je AntiAlias.Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

Viz také

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

Měří zadaného řetězce při vykreslení se zadaným Font a naformátovaná za použití zadaného StringFormat.Measures the specified string when drawn with the specified Font and formatted with the specified 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);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.SizeF * System.Drawing.StringFormat -> System.Drawing.SizeF

Parametry

text
String String String

Řetězec k měření.String to measure.

font
Font Font Font

Font Definuje formát textového řetězce.Font defines the text format of the string.

layoutArea
SizeF SizeF SizeF

SizeF Struktura, která určuje maximální rozložení oblast textu.SizeF structure that specifies the maximum layout area for the text.

stringFormat
StringFormat StringFormat StringFormat

StringFormat informace o formátování, jako je například řádkování pro řetězec, který představuje.StringFormat that represents formatting information, such as line spacing, for the string.

Návraty

Tato metoda vrátí hodnotu SizeF struktura, která představuje velikost v jednotkách zadaných PageUnit vlastnost řetězec zadaný v poli text parametru, jak je vykreslen pomocí font parametr a stringFormat parametr.This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified in the text parameter as drawn with the font parameter and the stringFormat parameter.

Výjimky

Příklady

Následující příklad kódu je určený k použití pomocí Windows Forms a vyžaduje PaintEventArgs e, což je parametr Paint obslužné rutiny události.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Kód provede následující akce:The code performs the following actions:

  • Vytvoří řetězec k měření a písma objekt nastavený na Arial (16 bod).Creates a string to measure and a font object set to Arial (16 point).

  • Nastaví maximální rozložení velikost řetězce, vytváření velikost objektu k měření řetězec.Sets the maximum layout size of the string, creating a size object to measure the string.

  • Vytvoří objekt řetězec formátu a nastaví její příznaky formátu DirectionVertical.Creates a string format object and sets its format flags to DirectionVertical.

  • Měří velikost řetězce, pomocí řetězec, objekt písma, velikosti maximální rozložení a formát řetězce.Measures the size of the string, using the string, the font object, the maximum layout size, and the string format.

  • Kreslení obdélníku red pomocí měřené velikost řetězce.Draws a red rectangle using the measured size of the string.

  • Nakreslí řetězce v kresleném obdélník.Draws the string within the drawn rectangle.

Výsledkem je svislý obdélník uzavírající svislé řetězec.The result is a vertical rectangle enclosing a vertical string.

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

Poznámky

MeasureString Metoda je určená pro použití u jednotlivých řetězců a obsahuje malé množství mezery před a po řetězec umožňující overhanging glyfů.The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. Také DrawString metoda upraví glyfu body k optimalizaci kvality zobrazení a užší než hlášených řetězec se může zobrazit MeasureString.Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. Chcete-li získat metriky, které jsou vhodné pro sousední řetězce v rozložení (například při implementaci formátovaného textu), použijte MeasureCharacterRanges metody nebo jeden z MeasureString metody, které přijímá StringFormata předat GenericTypographic.To obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. Také se ujistěte, TextRenderingHint pro Graphics je AntiAlias.Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

Viz také

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

Měří zadaného řetězce při vykreslení se zadaným Font a naformátovaná za použití zadaného StringFormat.Measures the specified string when drawn with the specified Font and formatted with the specified 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);
member this.MeasureString : string * System.Drawing.Font * int * System.Drawing.StringFormat -> System.Drawing.SizeF

Parametry

text
String String String

Řetězec k měření.String to measure.

font
Font Font Font

Font který definuje formát textového řetězce.Font that defines the text format of the string.

width
Int32 Int32 Int32

Maximální šířka řetězce.Maximum width of the string.

format
StringFormat StringFormat StringFormat

StringFormat informace o formátování, jako je například řádkování pro řetězec, který představuje.StringFormat that represents formatting information, such as line spacing, for the string.

Návraty

Tato metoda vrátí hodnotu SizeF struktura, která představuje velikost v jednotkách zadaných PageUnit vlastnost řetězec zadaný v poli text parametru, jak je vykreslen pomocí font parametr a stringFormat parametr.This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified in the text parameter as drawn with the font parameter and the stringFormat parameter.

Výjimky

Příklady

Následující příklad kódu je určený k použití pomocí Windows Forms a vyžaduje PaintEventArgs e, což je parametr Paint obslužné rutiny události.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Kód provede následující akce:The code performs the following actions:

  • Vytvoří řetězec k měření a písmo objekt nastaven na Arial (16 bod).Creates a string to measure and a font object set it to Arial (16 point).

  • Nastavuje maximální šířku řetězce.Sets the maximum width of the string.

  • Vytvoří objekt řetězec formátu a nastaví její příznaky formátu DirectionVertical.Creates a string format object and sets its format flags to DirectionVertical.

  • Vytvoří objekt velikost měření řetězec.Creates a size object to measure the string.

  • Měří velikost řetězce, pomocí řetězec, objekt písma, maximální šířku a formát řetězce.Measures the size of the string, using the string, the font object, the maximum width, and the string format.

  • Kreslení obdélníku red pomocí měřené velikost řetězce.Draws a red rectangle using the measured size of the string.

  • Nakreslí řetězce v kresleném obdélník.Draws the string within the drawn rectangle.

Výsledkem je svislý obdélník uzavírající svislé řetězec.The result is a vertical rectangle enclosing a vertical string.

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

Poznámky

MeasureString Metoda je určená pro použití u jednotlivých řetězců a obsahuje malé množství mezery před a po řetězec umožňující overhanging glyfů.The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. Také DrawString metoda upraví glyfu body k optimalizaci kvality zobrazení a užší než hlášených řetězec se může zobrazit MeasureString.Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. Chcete-li získat metriky, které jsou vhodné pro sousední řetězce v rozložení (například při implementaci formátovaného textu), použijte MeasureCharacterRanges metody nebo jeden z MeasureString metody, které přijímá StringFormata předat GenericTypographic.To obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. Také se ujistěte, TextRenderingHint pro Graphics je AntiAlias.Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

Viz také

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

Měří zadaného řetězce při vykreslení se zadaným Font a naformátovaná za použití zadaného StringFormat.Measures the specified string when drawn with the specified Font and formatted with the specified 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);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.SizeF * System.Drawing.StringFormat *  *  -> System.Drawing.SizeF

Parametry

text
String String String

Řetězec k měření.String to measure.

font
Font Font Font

Font který definuje formát textového řetězce.Font that defines the text format of the string.

layoutArea
SizeF SizeF SizeF

SizeF Struktura, která určuje maximální rozložení oblast textu.SizeF structure that specifies the maximum layout area for the text.

stringFormat
StringFormat StringFormat StringFormat

StringFormat informace o formátování, jako je například řádkování pro řetězec, který představuje.StringFormat that represents formatting information, such as line spacing, for the string.

charactersFitted
Int32 Int32 Int32

Počet znaků v řetězci.Number of characters in the string.

linesFilled
Int32 Int32 Int32

Počet řádků textu v řetězci.Number of text lines in the string.

Návraty

Tato metoda vrátí hodnotu SizeF struktura, která představuje velikost řetězce v jednotkách zadaných PageUnit vlastnost, z text parametru, jak je vykreslen pomocí font parametr a stringFormat parametru.This method returns a SizeF structure that represents the size of the string, in the units specified by the PageUnit property, of the text parameter as drawn with the font parameter and the stringFormat parameter.

Výjimky

Příklady

Následující příklad kódu je určený k použití pomocí Windows Forms a vyžaduje PaintEventArgs e, což je parametr Paint obslužné rutiny události.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Kód provede následující akce:The code performs the following actions:

  • Vytvoří řetězec k měření a písma objekt nastavený na Arial (16 bodu)Creates a string to measure and a font object set to Arial (16 point)

  • Nastaví maximální rozložení velikost řetězce.Sets the maximum layout size of the string.

  • Vytvoří objekt řetězec formátu a nastaví její příznaky formátu DirectionVertical.Creates a string format object and sets its format flags to DirectionVertical.

  • Vytvoří celočíselné proměnné charactersFitted a linesFilled a velikost objektu k měření řetězec.Creates the integer variables charactersFitted and linesFilled and a size object to measure the string.

  • Měří velikost řetězce a určuje počet znaků, které jsou vybaveny a čáry vyplněné, pomocí řetězec, objekt písma, velikosti maximální rozložení a formát řetězce.Measures the size of the string and determines the number of characters fitted and lines filled, using the string, the font object, the maximum layout size, and the string format.

  • Kreslení obdélníku red pomocí měřené velikost řetězce.Draws a red rectangle using the measured size of the string.

  • Nakreslí řetězce v kresleném obdélník.Draws the string within the drawn rectangle.

  • Nakreslí hodnoty počtu znaků, které jsou vybaveny a čáry vyplněné.Draws the values of the number of characters fitted and lines filled.

Výsledkem je svislý obdélník uzavírající svislé řetězec.The result is a vertical rectangle enclosing a vertical string.

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

Poznámky

MeasureString Metoda je určená pro použití u jednotlivých řetězců a obsahuje malé množství mezery před a po řetězec umožňující overhanging glyfů.The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. Také DrawString metoda upraví glyfu body k optimalizaci kvality zobrazení a užší než hlášených řetězec se může zobrazit MeasureString.Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. Chcete-li získat metriky, které jsou vhodné pro sousední řetězce v rozložení (například při implementaci formátovaného textu), použijte MeasureCharacterRanges metody nebo jeden z MeasureString metody, které přijímá StringFormat a předejte mu GenericTypographic.To obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat and pass GenericTypographic. Ujistěte se také, TextRenderingHint pro Graphics je AntiAlias.Also ensure the TextRenderingHint for the Graphics is AntiAlias.

Viz také

Platí pro