Каков наилучший способ рисования текста вместе с геометрией?
В WPF я начинаю использовать классы, такие как LineGeometry, EllipseGeometry, GeometryGroup, Path... для рисования 2D-графики. Я выбрал эти формы, потому что видел, что это может быть быстрее благодаря функции замораживания.
Мне нужно нарисовать текст вместе с геометрией, со специальными шрифтами. Текст должен быть установлен с той же системой координат, что и геометрия. И мне нужно иметь возможность применить такое преобразование, как RotateTransform.
Каким будет лучший способ? Я столкнулся с классом GlyphRunDrawing, но это действительно сложно.
Большое спасибо заранее.
Ответы
Ответ 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