Подтвердить что ты не робот

Каков наилучший способ рисования текста вместе с геометрией?

В WPF я начинаю использовать классы, такие как LineGeometry, EllipseGeometry, GeometryGroup, Path... для рисования 2D-графики. Я выбрал эти формы, потому что видел, что это может быть быстрее благодаря функции замораживания.

Мне нужно нарисовать текст вместе с геометрией, со специальными шрифтами. Текст должен быть установлен с той же системой координат, что и геометрия. И мне нужно иметь возможность применить такое преобразование, как RotateTransform.

Каким будет лучший способ? Я столкнулся с классом GlyphRunDrawing, но это действительно сложно.

Большое спасибо заранее.

4b9b3361

Ответ 1

Чтобы создать текстовую геометрию, просто используйте FormattedText.BuildGeometry, например, чтобы получить геометрию "Текст для отображения" в шрифте Tahoma размером 16 пикселей в точке (5,5):

    FormattedText text = new FormattedText("Text to display",
        CultureInfo.CurrentCulture,
        FlowDirection.LeftToRight,
        new Typeface("Tahoma"),
        16,
        Brushes.Black);
    Geometry geometry = text.BuildGeometry(new Point(5, 5));

Если вам нужно сделать это в XAML, вы можете завершить этот код в MarkupExtention