Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft ein Array von Region-Objekten ab, von denen jedes einen Bereich von Zeichenpositionen in der angegebenen Zeichenfolge umschließt.
Namespace: System.Drawing
Assembly: System.Drawing (in system.drawing.dll)
Syntax
'Declaration
Public Function MeasureCharacterRanges ( _
text As String, _
font As Font, _
layoutRect As RectangleF, _
stringFormat As StringFormat _
) As Region()
'Usage
Dim instance As Graphics
Dim text As String
Dim font As Font
Dim layoutRect As RectangleF
Dim stringFormat As StringFormat
Dim returnValue As Region()
returnValue = instance.MeasureCharacterRanges(text, font, layoutRect, stringFormat)
public Region[] MeasureCharacterRanges (
string text,
Font font,
RectangleF layoutRect,
StringFormat stringFormat
)
public:
array<Region^>^ MeasureCharacterRanges (
String^ text,
Font^ font,
RectangleF layoutRect,
StringFormat^ stringFormat
)
public Region[] MeasureCharacterRanges (
String text,
Font font,
RectangleF layoutRect,
StringFormat stringFormat
)
public function MeasureCharacterRanges (
text : String,
font : Font,
layoutRect : RectangleF,
stringFormat : StringFormat
) : Region[]
Parameter
- text
Zu messende Zeichenfolge.
- font
Font, der das Textformat der Zeichenfolge definiert.
- layoutRect
RectangleF-Struktur, die das Layoutrechteck für die Zeichenfolge angibt.
- stringFormat
StringFormat, das Formatierungsinformationen für die Zeichenfolge darstellt, z. B. Zeilenabstand.
Rückgabewert
Diese Methode gibt ein Array von Region-Objekten zurück, von denen jedes einen Bereich von Zeichenpositionen in der angegebenen Zeichenfolge umschließt.
Hinweise
Die von dieser Methode zurückgegebenen Bereiche sind auflösungsabhängig. Es kann also geringfügige Einbußen bei der Genauigkeit geben, wenn Zeichenfolgen mit einer bestimmten Auflösung in einer Metadatei gespeichert und später mit einer anderen Auflösung wiedergegeben werden.
Beispiel
Das folgende Codebeispiel ist für die Verwendung mit Windows Forms vorgesehen und erfordert PaintEventArgse, wobei es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:
Legt eine Zeichenfolge "First and Second ranges" und eine Schriftart für die Anzeige der Zeichenfolge ("Times New Roman", 16 Punkt) fest.
Legt zwei Zeichenbereiche in der Zeichenfolge fest (die den Worten "First" und "Second" entsprechen).
Erstellt ein Rechteck, in dem die Zeichenfolge angezeigt werden soll.
Legt die Formatierung der Zeichenfolge auf ¾ einschließlich der beiden Zeichenbereiche fest.
Zeichnet die Zeichenfolge auf dem Bildschirm.
Misst die Zeichenbereiche und bestimmt die Rechtecke, die die beiden angegebenen Bereiche umschließen.
Zeichnet die beiden Rechtecke auf dem Bildschirm.
Im Ergebnis wird die Zeichenfolge angezeigt, wobei der erste Bereich ("First") von einem roten Rechteck und der zweite Bereich ("Second") von einem blauen Rechteck umschlossen ist.
Public Sub MeasureCharacterRangesRegions(ByVal e As PaintEventArgs)
' Set up string.
Dim measureString As String = "First and Second ranges"
Dim stringFont As New Font("Times New Roman", 16.0F)
' Set character ranges to "First" and "Second".
Dim characterRanges As CharacterRange() = _
{New CharacterRange(0, 5), New CharacterRange(10, 6)}
' Create rectangle for layout.
Dim x As Single = 50.0F
Dim y As Single = 50.0F
Dim width As Single = 35.0F
Dim height As Single = 200.0F
Dim layoutRect As New RectangleF(x, y, width, height)
' Set string format.
Dim stringFormat As New StringFormat
stringFormat.FormatFlags = StringFormatFlags.DirectionVertical
stringFormat.SetMeasurableCharacterRanges(characterRanges)
' Draw string to screen.
e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
x, y, stringFormat)
' Measure two ranges in string.
Dim stringRegions(2) As [Region]
stringRegions = e.Graphics.MeasureCharacterRanges(measureString, _
stringFont, layoutRect, stringFormat)
' Draw rectangle for first measured range.
Dim measureRect1 As RectangleF = _
stringRegions(0).GetBounds(e.Graphics)
e.Graphics.DrawRectangle(New Pen(Color.Red, 1), _
Rectangle.Round(measureRect1))
' Draw rectangle for second measured range.
Dim measureRect2 As RectangleF = _
stringRegions(1).GetBounds(e.Graphics)
e.Graphics.DrawRectangle(New Pen(Color.Blue, 1), _
Rectangle.Round(measureRect2))
End Sub
public void MeasureCharacterRangesRegions(PaintEventArgs e)
{
// Set up string.
string measureString = "First and Second ranges";
Font stringFont = new Font("Times New Roman", 16.0F);
// Set character ranges to "First" and "Second".
CharacterRange[] characterRanges = { new CharacterRange(0, 5), new CharacterRange(10, 6) };
// Create rectangle for layout.
float x = 50.0F;
float y = 50.0F;
float width = 35.0F;
float height = 200.0F;
RectangleF layoutRect = new RectangleF(x, y, width, height);
// Set string format.
StringFormat stringFormat = new StringFormat();
stringFormat.FormatFlags = StringFormatFlags.DirectionVertical;
stringFormat.SetMeasurableCharacterRanges(characterRanges);
// Draw string to screen.
e.Graphics.DrawString(measureString, stringFont, Brushes.Black, x, y, stringFormat);
// Measure two ranges in string.
Region[] stringRegions = new Region[2];
stringRegions = e.Graphics.MeasureCharacterRanges(measureString, stringFont, layoutRect, stringFormat);
// Draw rectangle for first measured range.
RectangleF measureRect1 = stringRegions[0].GetBounds(e.Graphics);
e.Graphics.DrawRectangle(new Pen(Color.Red, 1), Rectangle.Round(measureRect1));
// Draw rectangle for second measured range.
RectangleF measureRect2 = stringRegions[1].GetBounds(e.Graphics);
e.Graphics.DrawRectangle(new Pen(Color.Blue, 1), Rectangle.Round(measureRect2));
}
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0