Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I Convert a FormattedText String into a Geometry-Based Object?

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!

like image 405
Giffyguy Avatar asked Jul 15 '09 19:07

Giffyguy


1 Answers

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));
like image 73
Steffen Opel Avatar answered Sep 20 '22 23:09

Steffen Opel