Freigeben über


FormattedText.BuildGeometry(Point) Methode

Definition

Gibt ein Geometry-Objekt zurück, das den formatierten Text, einschließlich aller Symbole und Textdekorationen, darstellt.

public:
 System::Windows::Media::Geometry ^ BuildGeometry(System::Windows::Point origin);
public System.Windows.Media.Geometry BuildGeometry (System.Windows.Point origin);
member this.BuildGeometry : System.Windows.Point -> System.Windows.Media.Geometry
Public Function BuildGeometry (origin As Point) As Geometry

Parameter

origin
Point

Der linke obere Ursprung der resultierenden Geometrie.

Gibt zurück

Die Geometry-Objektdarstellung des formatierten Texts.

Beispiele

Das folgende Beispiel zeigt, wie Sie ein FormattedText Objekt erstellen und die Geometrien des formatierten Texts und dessen Begrenzungsrahmen abrufen.

/// <summary>
/// Create the outline geometry based on the formatted text.
/// </summary>
public void CreateText()
{
    System.Windows.FontStyle fontStyle = FontStyles.Normal;
    FontWeight fontWeight = FontWeights.Medium;

    if (Bold == true) fontWeight = FontWeights.Bold;
    if (Italic == true) fontStyle = FontStyles.Italic;

    // Create the formatted text based on the properties set.
    FormattedText formattedText = new FormattedText(
        Text,
        CultureInfo.GetCultureInfo("en-us"),
        FlowDirection.LeftToRight,
        new Typeface(
            Font,
            fontStyle,
            fontWeight,
            FontStretches.Normal),
        FontSize,
        System.Windows.Media.Brushes.Black // This brush does not matter since we use the geometry of the text. 
        );

    // Build the geometry object that represents the text.
    _textGeometry = formattedText.BuildGeometry(new System.Windows.Point(0, 0));

    // Build the geometry object that represents the text highlight.
    if (Highlight == true)
    {
        _textHighLightGeometry = formattedText.BuildHighlightGeometry(new System.Windows.Point(0, 0));
    }
}
''' <summary>
''' Create the outline geometry based on the formatted text.
''' </summary>
Public Sub CreateText()
    Dim fontStyle As FontStyle = FontStyles.Normal
    Dim fontWeight As FontWeight = FontWeights.Medium

    If Bold = True Then
        fontWeight = FontWeights.Bold
    End If
    If Italic = True Then
        fontStyle = FontStyles.Italic
    End If

    ' Create the formatted text based on the properties set.
    Dim formattedText As New FormattedText(Text, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, New Typeface(Font, fontStyle, fontWeight, FontStretches.Normal), FontSize, Brushes.Black) ' This brush does not matter since we use the geometry of the text.

    ' Build the geometry object that represents the text.
    _textGeometry = formattedText.BuildGeometry(New Point(0, 0))

    ' Build the geometry object that represents the text highlight.
    If Highlight = True Then
        _textHighLightGeometry = formattedText.BuildHighlightGeometry(New Point(0, 0))
    End If
End Sub

Hinweise

Wenn Text in ein Geometry Objekt konvertiert wird, handelt es sich nicht mehr um eine Auflistung von Zeichen. Sie können die Zeichen in der Textzeichenfolge nicht ändern. Sie können jedoch die Darstellung des konvertierten Texts durch Ändern der Strich- und Füllungseigenschaften ändern.

Die folgenden Beispiele zeigen verschiedene Möglichkeiten zum Erstellen von visuell ansprechenden Effekten durch Ändern von Strich und Füllung des konvertierten Texts.

Text mit unterschiedlichen Farben für Füllung und Strich Beispiel für das Festlegen von Strich und Füllung auf verschiedene Farben

Text mit auf Strich angewendetem Bildpinsel Beispiel für einen Bildpinsel, der auf den Strich angewendet wird

Text, der in ein Geometry Objekt konvertiert und gerendert wird, sieht möglicherweise nicht mit direkt gerendertem Text aus:

  • Text, der in ein Geometry Objekt konvertiert wurde, wird nicht mit ClearType gerendert. Darüber hinaus wird die Baseline des konvertierten nicht auf ein gesamtes Anzeigepixel angedockt.

  • Kleine Schriftarten, wie sie häufig im Textkörper verwendet werden, verlieren möglicherweise an Lesbarkeit, wirken unscharf und variieren im Aussehen.

Gilt für: