Как лучше всего рисовать текст вместе с геометрией?
Вопрос
В 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