Как лучше всего рисовать текст вместе с геометрией?

StackOverflow https://stackoverflow.com/questions/1036327

  •  10-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

Это было полезно?

Решение

Чтобы создать текстовую геометрию, просто используйте 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top