6

How do I convert a FormattedText string into a geometry-based object?

I don't think this question requires much explanation, and I can't think if very many other details I could give ...

I just need to convert the FormattedText into something I can use mathematically (geometrically).

Any advice is appreciated!

Helen
  • 87,344
  • 17
  • 243
  • 314
Giffyguy
  • 20,378
  • 34
  • 97
  • 168

1 Answers1

8

You are probably looking for FormattedText.BuildGeometry Method or FormattedText.BuildHighlightGeometry Method; both MSDN links are featuring the usual examples too.

The basic usage pattern is like so:

// Create sample formatted text.
FormattedText formattedText = new FormattedText("Sample",
    CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight,
    new Typeface("Verdana"), 16, System.Windows.Media.Brushes.Black);

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

// Build geometry object that represents the highlight bounding box of the text.
Geometry highLightGeometry = formattedText.BuildHighlightGeometry(
    new System.Windows.Point(0, 0));
Steffen Opel
  • 63,899
  • 11
  • 192
  • 211