FormattedText.BuildGeometry(Point) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een Geometry object dat de opgemaakte tekst vertegenwoordigt, inclusief alle glyphs en tekstdecoraties.
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
Parameters
- origin
- Point
De oorsprong linksboven van de resulterende geometrie.
Retouren
De Geometry objectweergave van de opgemaakte tekst.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een FormattedText object maakt en de geometrieƫn van de opgemaakte tekst en het begrenzingsvak ervan ophaalt.
/// <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) fontWeight = FontWeights.Bold;
if (Italic) 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)
{
_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
Opmerkingen
Wanneer tekst wordt geconverteerd naar een Geometry object, is het geen verzameling tekens meer. U kunt de tekens in de tekenreeks niet wijzigen. U kunt echter van invloed zijn op het uiterlijk van de geconverteerde tekst door de eigenschappen van de lijn en opvulling te wijzigen.
In de volgende voorbeelden ziet u verschillende manieren om visuele effecten te maken door de lijn en opvulling van geconverteerde tekst te wijzigen.
Voorbeeld van het instellen van een lijn en opvulling op verschillende kleuren
Voorbeeld van een afbeeldingsborstel dat is toegepast op de lijn
Tekst die wordt geconverteerd naar en weergegeven als een Geometry object, ziet er mogelijk niet hetzelfde uit als tekst die rechtstreeks wordt weergegeven:
Tekst die naar een Geometry object wordt geconverteerd, wordt niet weergegeven met ClearType. Bovendien wordt de basislijn van de geconverteerde afbeelding niet vastgelijnd op een hele weergave pixel.
Kleine lettertypen, zoals die vaak worden gebruikt in hoofdtekst, kunnen leesbaarheid verliezen, wazig worden weergegeven en verschillen in uiterlijk.