FormattedText.BuildHighlightGeometry 方法

定义

返回一个 Geometry 对象,该对象表示格式化文本的高光点边界框。

重载

BuildHighlightGeometry(Point)

返回一个 Geometry 对象,该对象表示格式化文本的高光点边界框。

BuildHighlightGeometry(Point, Int32, Int32)

返回一个 Geometry 对象,该对象表示格式化文本的指定子字符串的高光点边界框。

BuildHighlightGeometry(Point)

返回一个 Geometry 对象,该对象表示格式化文本的高光点边界框。

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

参数

origin
Point

高光点区域的原点。

返回

Geometry

返回一个 Geometry 对象,该对象表示格式化文本的高光点边界框。

示例

以下示例演示如何创建对象 FormattedText 并检索格式化文本及其边界框的几何图形。

/// <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

注解

边界框区域包含从指定 origin点开始的整个格式化文本区域。 返回 Geometry 的对象仅包含突出显示文本的边界框,并且不包含任何呈现的文本。

以下示例演示了一种通过修改已转换文本的笔划和突出显示来创建视觉效果的方法。

应用于笔划的图像画笔的文本 应用于笔划和突出显示的图像画笔示例

适用于

BuildHighlightGeometry(Point, Int32, Int32)

返回一个 Geometry 对象,该对象表示格式化文本的指定子字符串的高光点边界框。

public:
 System::Windows::Media::Geometry ^ BuildHighlightGeometry(System::Windows::Point origin, int startIndex, int count);
public System.Windows.Media.Geometry BuildHighlightGeometry (System.Windows.Point origin, int startIndex, int count);
member this.BuildHighlightGeometry : System.Windows.Point * int * int -> System.Windows.Media.Geometry
Public Function BuildHighlightGeometry (origin As Point, startIndex As Integer, count As Integer) As Geometry

参数

origin
Point

高光点区域的原点。

startIndex
Int32

应为其获取高光点边界的初始字符的索引。

count
Int32

高光点边界应包含的字符数。

返回

Geometry

Geometry 对象,表示格式化文本子字符串的高光点边界框。

注解

返回 Geometry 的对象仅包含突出显示文本的边界框,并且不包含任何呈现的文本。

适用于