Udostępnij za pośrednictwem


Graphics.MeasureString Metoda

Definicja

Mierzy określony ciąg po narysowanym przy użyciu określonego Font.

Przeciążenia

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

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego StringFormat.

MeasureString(ReadOnlySpan<Char>, Font)

Mierzy określony ciąg po narysowanym przy użyciu określonego Font.

MeasureString(String, Font)

Mierzy określony ciąg po narysowanym przy użyciu określonego Font.

MeasureString(ReadOnlySpan<Char>, Font, SizeF)

Mierzy określony ciąg podczas rysowania z określonym Font w określonym obszarze układu.

MeasureString(ReadOnlySpan<Char>, Font, Int32)

Mierzy określony ciąg po narysowanym przy użyciu określonego Font.

MeasureString(String, Font, SizeF)

Mierzy określony ciąg podczas rysowania z określonym Font w określonym obszarze układu.

MeasureString(String, Font, Int32)

Mierzy określony ciąg po narysowanym przy użyciu określonego Font.

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

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego StringFormat.

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

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego StringFormat.

MeasureString(String, Font, PointF, StringFormat)

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego StringFormat.

MeasureString(String, Font, SizeF, StringFormat)

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego StringFormat.

MeasureString(String, Font, Int32, StringFormat)

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego StringFormat.

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

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego StringFormat.

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

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego StringFormat.

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

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego 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

Parametry

text
ReadOnlySpan<Char>

Ciąg do zmierzenia.

font
Font

Font definiuje format tekstowy ciągu.

layoutArea
SizeF

SizeF struktura określająca maksymalny obszar układu tekstu.

stringFormat
StringFormat

StringFormat reprezentujące informacje o formatowaniu, takie jak odstępy między wierszami, dla ciągu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego w parametrze text zgodnie z parametrem font i parametrem stringFormat.

Dotyczy

MeasureString(ReadOnlySpan<Char>, Font)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg po narysowanym przy użyciu określonego 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

Parametry

text
ReadOnlySpan<Char>

Ciąg do zmierzenia.

font
Font

Font definiujące format tekstowy ciągu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego przez parametr text zgodnie z font parametrem.

Dotyczy

MeasureString(String, Font)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg po narysowanym przy użyciu określonego 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

Parametry

text
String

Ciąg do zmierzenia.

font
Font

Font definiujące format tekstowy ciągu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego przez parametr text zgodnie z font parametrem.

Wyjątki

font jest null.

font jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:

  • Tworzy ciąg do mierzenia.

  • Tworzy obiekt czcionki i ustawia go na Arial (16 punktów).

  • Tworzy obiekt rozmiaru i używa go oraz obiektu czcionki do mierzenia rozmiaru ciągu.

  • Rysuje czerwony prostokąt przy użyciu mierzonego rozmiaru ciągu.

  • Rysuje ciąg w rysunkowym prostokątze.

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

Uwagi

Metoda MeasureString jest przeznaczona do użycia z poszczególnymi ciągami i zawiera niewielką ilość dodatkowego miejsca przed i po ciągu, aby umożliwić zwisanie glifów. Ponadto metoda DrawString dostosowuje punkty glyph w celu zoptymalizowania jakości wyświetlania i może wyświetlać ciąg węższy niż raportowany przez MeasureString. Aby uzyskać metryki odpowiednie dla sąsiednich ciągów w układzie (na przykład podczas implementowania sformatowanego tekstu), użyj metody MeasureCharacterRanges lub jednej z metod MeasureString, które pobierają StringFormati przekazują GenericTypographic. Upewnij się również, że TextRenderingHint dla Graphics jest AntiAlias.

Zobacz też

Dotyczy

MeasureString(ReadOnlySpan<Char>, Font, SizeF)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg podczas rysowania z określonym Font w określonym obszarze układu.

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

Parametry

text
ReadOnlySpan<Char>

Ciąg do zmierzenia.

font
Font

Font definiuje format tekstowy ciągu.

layoutArea
SizeF

SizeF struktura określająca maksymalny obszar układu tekstu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego przez parametr text zgodnie z font parametrem.

Dotyczy

MeasureString(ReadOnlySpan<Char>, Font, Int32)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg po narysowanym przy użyciu określonego 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

Parametry

text
ReadOnlySpan<Char>

Ciąg do zmierzenia.

font
Font

Font, który definiuje format ciągu.

width
Int32

Maksymalna szerokość ciągu w pikselach.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego w parametrze text zgodnie z font parametrem.

Dotyczy

MeasureString(String, Font, SizeF)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg podczas rysowania z określonym Font w określonym obszarze układu.

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

Parametry

text
String

Ciąg do zmierzenia.

font
Font

Font definiuje format tekstowy ciągu.

layoutArea
SizeF

SizeF struktura określająca maksymalny obszar układu tekstu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego przez parametr text zgodnie z font parametrem.

Wyjątki

font jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:

  • Tworzy ciąg do mierzenia i obiekt czcionki ustawiony na Arial (16 punktów).

  • Ustawia maksymalny rozmiar układu ciągu.

  • Tworzy obiekt rozmiaru i używa go, obiektu czcionki i maksymalnego rozmiaru układu do mierzenia rozmiaru ciągu.

  • Rysuje czerwony prostokąt przy użyciu mierzonego rozmiaru ciągu.

  • Rysuje ciąg w rysunkowym prostokątze.

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

Uwagi

Metoda MeasureString jest przeznaczona do użycia z poszczególnymi ciągami i zawiera niewielką ilość dodatkowego miejsca przed i po ciągu, aby umożliwić zwisanie glifów. Ponadto metoda DrawString dostosowuje punkty glyph w celu zoptymalizowania jakości wyświetlania i może wyświetlać ciąg węższy niż raportowany przez MeasureString. Aby uzyskać metryki odpowiednie dla sąsiednich ciągów w układzie (na przykład podczas implementowania sformatowanego tekstu), użyj metody MeasureCharacterRanges lub jednej z metod MeasureString, które pobierają StringFormati przekazują GenericTypographic. Upewnij się również, że TextRenderingHint dla Graphics jest AntiAlias.

Zobacz też

Dotyczy

MeasureString(String, Font, Int32)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg po narysowanym przy użyciu określonego 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

Parametry

text
String

Ciąg do zmierzenia.

font
Font

Font, który definiuje format ciągu.

width
Int32

Maksymalna szerokość ciągu w pikselach.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego w parametrze text zgodnie z font parametrem.

Wyjątki

font jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:

  • Tworzy ciąg do mierzenia i obiekt czcionki ustawiony na Arial (16 punktów).

  • Ustawia maksymalną szerokość ciągu.

  • Tworzy obiekt rozmiaru i używa go, obiektu czcionki i maksymalnej szerokości ciągu do mierzenia rozmiaru ciągu.

  • Rysuje czerwony prostokąt przy użyciu mierzonego rozmiaru ciągu.

  • Rysuje ciąg w rysunkowym prostokątze.

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

Uwagi

Parametr width określa maksymalną wartość składnika szerokości zwróconej struktury SizeF (Width). Jeśli parametr width jest mniejszy niż rzeczywista szerokość ciągu, zwracany składnik Width jest obcięty z wartością reprezentującą maksymalną liczbę znaków, które mieszczą się w określonej szerokości. Aby pomieścić cały ciąg, zwrócony składnik Height jest dostosowywany do wartości, która umożliwia wyświetlanie ciągu z zawijaniem znaków.

Metoda MeasureString jest przeznaczona do użycia z poszczególnymi ciągami i zawiera niewielką ilość dodatkowego miejsca przed i po ciągu, aby umożliwić zwisanie glifów. Ponadto metoda DrawString dostosowuje punkty glyph w celu zoptymalizowania jakości wyświetlania i może wyświetlać ciąg węższy niż raportowany przez MeasureString. Aby uzyskać metryki odpowiednie dla sąsiednich ciągów w układzie (na przykład podczas implementowania sformatowanego tekstu), użyj metody MeasureCharacterRanges lub jednej z metod MeasureString, które pobierają StringFormati przekazują GenericTypographic. Upewnij się również, że TextRenderingHint dla Graphics jest AntiAlias.

Zobacz też

Dotyczy

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

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego 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

Parametry

text
ReadOnlySpan<Char>

Ciąg do zmierzenia.

font
Font

Font definiuje format tekstowy ciągu.

origin
PointF

PointF struktura reprezentująca lewy górny róg ciągu.

stringFormat
StringFormat

StringFormat reprezentujące informacje o formatowaniu, takie jak odstępy między wierszami, dla ciągu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego przez parametr text zgodnie z rysunkiem z parametrem font i parametrem stringFormat.

Dotyczy

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

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego 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

Parametry

text
ReadOnlySpan<Char>

Ciąg do zmierzenia.

font
Font

Font definiujące format tekstowy ciągu.

width
Int32

Maksymalna szerokość ciągu.

format
StringFormat

StringFormat reprezentujące informacje o formatowaniu, takie jak odstępy między wierszami, dla ciągu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego w parametrze text zgodnie z parametrem font i parametrem stringFormat.

Dotyczy

MeasureString(String, Font, PointF, StringFormat)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego 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

Parametry

text
String

Ciąg do zmierzenia.

font
Font

Font definiuje format tekstowy ciągu.

origin
PointF

PointF struktura reprezentująca lewy górny róg ciągu.

stringFormat
StringFormat

StringFormat reprezentujące informacje o formatowaniu, takie jak odstępy między wierszami, dla ciągu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego przez parametr text zgodnie z rysunkiem z parametrem font i parametrem stringFormat.

Wyjątki

font jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:

  • Tworzy ciąg do mierzenia i obiekt czcionki ustawiony na Arial (16 punktów)

  • Tworzy punkt w celu zlokalizowania lewego górnego rogu ciągu.

  • Tworzy obiekt formatu ciągu i ustawia jego flagi formatu na DirectionVertical.

  • Tworzy obiekt rozmiaru do mierzenia ciągu.

  • Mierzy rozmiar ciągu przy użyciu ciągu, obiektu czcionki, punktu lokalizowania i formatu ciągu.

  • Rysuje czerwony prostokąt przy użyciu punktu lokalizowania i mierzonego rozmiaru ciągu.

  • Rysuje ciąg w rysunkowym prostokątze.

Wynik jest pionowym prostokątem otaczającym ciąg pionowy.

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

Uwagi

Metoda MeasureString jest przeznaczona do użycia z poszczególnymi ciągami i zawiera niewielką ilość dodatkowego miejsca przed i po ciągu, aby umożliwić zwisanie glifów. Ponadto metoda DrawString dostosowuje punkty glyph w celu zoptymalizowania jakości wyświetlania i może wyświetlać ciąg węższy niż raportowany przez MeasureString. Aby uzyskać metryki odpowiednie dla sąsiednich ciągów w układzie (na przykład podczas implementowania sformatowanego tekstu), użyj metody MeasureCharacterRanges lub jednej z metod MeasureString, które pobierają StringFormati przekazują GenericTypographic. Upewnij się również, że TextRenderingHint dla Graphics jest AntiAlias.

Zobacz też

Dotyczy

MeasureString(String, Font, SizeF, StringFormat)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego 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

Parametry

text
String

Ciąg do zmierzenia.

font
Font

Font definiuje format tekstowy ciągu.

layoutArea
SizeF

SizeF struktura określająca maksymalny obszar układu tekstu.

stringFormat
StringFormat

StringFormat reprezentujące informacje o formatowaniu, takie jak odstępy między wierszami, dla ciągu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego w parametrze text zgodnie z parametrem font i parametrem stringFormat.

Wyjątki

font jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:

  • Tworzy ciąg do mierzenia i obiekt czcionki ustawiony na Arial (16 punktów).

  • Ustawia maksymalny rozmiar układu ciągu, tworząc obiekt size do mierzenia ciągu.

  • Tworzy obiekt formatu ciągu i ustawia jego flagi formatu na DirectionVertical.

  • Mierzy rozmiar ciągu przy użyciu ciągu, obiektu czcionki, maksymalnego rozmiaru układu i formatu ciągu.

  • Rysuje czerwony prostokąt przy użyciu mierzonego rozmiaru ciągu.

  • Rysuje ciąg w rysunkowym prostokątze.

Wynik jest pionowym prostokątem otaczającym ciąg pionowy.

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

Uwagi

Metoda MeasureString jest przeznaczona do użycia z poszczególnymi ciągami i zawiera niewielką ilość dodatkowego miejsca przed i po ciągu, aby umożliwić zwisanie glifów. Ponadto metoda DrawString dostosowuje punkty glyph w celu zoptymalizowania jakości wyświetlania i może wyświetlać ciąg węższy niż raportowany przez MeasureString. Aby uzyskać metryki odpowiednie dla sąsiednich ciągów w układzie (na przykład podczas implementowania sformatowanego tekstu), użyj metody MeasureCharacterRanges lub jednej z metod MeasureString, które pobierają StringFormati przekazują GenericTypographic. Upewnij się również, że TextRenderingHint dla Graphics jest AntiAlias.

Zobacz też

Dotyczy

MeasureString(String, Font, Int32, StringFormat)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego 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

Parametry

text
String

Ciąg do zmierzenia.

font
Font

Font definiujące format tekstowy ciągu.

width
Int32

Maksymalna szerokość ciągu.

format
StringFormat

StringFormat reprezentujące informacje o formatowaniu, takie jak odstępy między wierszami, dla ciągu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar w jednostkach określonych przez właściwość PageUnit ciągu określonego w parametrze text zgodnie z parametrem font i parametrem stringFormat.

Wyjątki

font jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:

  • Tworzy ciąg do mierzenia i obiekt czcionki ustawić go na Arial (16 punktów).

  • Ustawia maksymalną szerokość ciągu.

  • Tworzy obiekt formatu ciągu i ustawia jego flagi formatu na DirectionVertical.

  • Tworzy obiekt rozmiaru do mierzenia ciągu.

  • Mierzy rozmiar ciągu przy użyciu ciągu, obiektu czcionki, maksymalnej szerokości i formatu ciągu.

  • Rysuje czerwony prostokąt przy użyciu mierzonego rozmiaru ciągu.

  • Rysuje ciąg w rysunkowym prostokątze.

Wynik jest pionowym prostokątem otaczającym ciąg pionowy.

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

Uwagi

Metoda MeasureString jest przeznaczona do użycia z poszczególnymi ciągami i zawiera niewielką ilość dodatkowego miejsca przed i po ciągu, aby umożliwić zwisanie glifów. Ponadto metoda DrawString dostosowuje punkty glyph w celu zoptymalizowania jakości wyświetlania i może wyświetlać ciąg węższy niż raportowany przez MeasureString. Aby uzyskać metryki odpowiednie dla sąsiednich ciągów w układzie (na przykład podczas implementowania sformatowanego tekstu), użyj metody MeasureCharacterRanges lub jednej z metod MeasureString, które pobierają StringFormati przekazują GenericTypographic. Upewnij się również, że TextRenderingHint dla Graphics jest AntiAlias.

Zobacz też

Dotyczy

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

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego 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

Parametry

text
ReadOnlySpan<Char>

Ciąg do zmierzenia.

font
Font

Font definiujące format tekstowy ciągu.

layoutArea
SizeF

SizeF struktura określająca maksymalny obszar układu tekstu.

stringFormat
StringFormat

StringFormat reprezentujące informacje o formatowaniu, takie jak odstępy między wierszami, dla ciągu.

charactersFitted
Int32

Liczba znaków w ciągu.

linesFilled
Int32

Liczba wierszy tekstu w ciągu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar ciągu w jednostkach określonych przez właściwość PageUnit parametru text zgodnie z rysunkiem z parametrem font i parametrem stringFormat.

Dotyczy

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

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Mierzy określony ciąg podczas rysowania z określonym Font i sformatowany przy użyciu określonego 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

Parametry

text
String

Ciąg do zmierzenia.

font
Font

Font definiujące format tekstowy ciągu.

layoutArea
SizeF

SizeF struktura określająca maksymalny obszar układu tekstu.

stringFormat
StringFormat

StringFormat reprezentujące informacje o formatowaniu, takie jak odstępy między wierszami, dla ciągu.

charactersFitted
Int32

Liczba znaków w ciągu.

linesFilled
Int32

Liczba wierszy tekstu w ciągu.

Zwraca

Ta metoda zwraca strukturę SizeF reprezentującą rozmiar ciągu w jednostkach określonych przez właściwość PageUnit parametru text zgodnie z rysunkiem z parametrem font i parametrem stringFormat.

Wyjątki

font jest null.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:

  • Tworzy ciąg do mierzenia i obiekt czcionki ustawiony na Arial (16 punktów)

  • Ustawia maksymalny rozmiar układu ciągu.

  • Tworzy obiekt formatu ciągu i ustawia jego flagi formatu na DirectionVertical.

  • Tworzy zmienne całkowite charactersFitted i linesFilled oraz obiekt rozmiaru, aby zmierzyć ciąg.

  • Mierzy rozmiar ciągu i określa liczbę znaków dopasowanych i wypełnionych wierszy przy użyciu ciągu, obiektu czcionki, maksymalnego rozmiaru układu i formatu ciągu.

  • Rysuje czerwony prostokąt przy użyciu mierzonego rozmiaru ciągu.

  • Rysuje ciąg w rysunkowym prostokątze.

  • Rysuje wartości liczby znaków dopasowanych i wypełnionych wierszy.

Wynik jest pionowym prostokątem otaczającym ciąg pionowy.

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

Uwagi

Metoda MeasureString jest przeznaczona do użycia z poszczególnymi ciągami i zawiera niewielką ilość dodatkowego miejsca przed i po ciągu, aby umożliwić zwisanie glifów. Ponadto metoda DrawString dostosowuje punkty glyph w celu zoptymalizowania jakości wyświetlania i może wyświetlać ciąg węższy niż raportowany przez MeasureString. Aby uzyskać metryki odpowiednie dla sąsiednich ciągów w układzie (na przykład podczas implementowania sformatowanego tekstu), użyj metody MeasureCharacterRanges lub jednej z metod MeasureString, która przyjmuje StringFormat i przekazuje GenericTypographic. Upewnij się również, że TextRenderingHint dla Graphics jest AntiAlias.

Zobacz też

Dotyczy