Как преобразовать строку FormattedText в объект на основе геометрии? - PullRequest
5 голосов
/ 15 июля 2009

Как мне преобразовать строку FormattedText в объект на основе геометрии?

Я не думаю, что этот вопрос требует много объяснений, и я не могу подумать, если бы я мог дать много других деталей ...

Мне просто нужно преобразовать FormattedText в то, что я могу использовать математически (геометрически).

Любой совет приветствуется!

1 Ответ

7 голосов
/ 16 июля 2009

Вы, вероятно, ищете FormattedText.BuildGeometry Method или FormattedText.BuildHighlightGeometry Method; Обе ссылки MSDN также показывают обычные примеры.

Базовая схема использования выглядит примерно так:

// 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));
...