【问题标题】:What is the best way to draw text along with geometry?将文本与几何图形一起绘制的最佳方法是什么?
【发布时间】:2009-06-24 04:01:56
【问题描述】:
在 WPF 中,我开始使用 LineGeometry、EllipseGeometry、GeometryGroup、Path... 等类来绘制 2D 图形。我之所以选择这些形状,是因为我发现由于冻结功能,它可以更快。
我需要使用特定字体绘制文本和几何图形。文本需要使用与几何图形相同的坐标系进行定位。而且我需要能够应用诸如 RotateTransform 之类的变换。
最好的方法是什么?我遇到过 GlyphRunDrawing 类,但它真的很复杂。
非常感谢。
【问题讨论】:
标签:
wpf
text
geometry
draw
【解决方案1】:
要创建文本几何图形,只需使用 FormattedText.BuildGeometry,例如,在点 (5,5) 使用 16 像素的 Tahoma 字体获取“要显示的文本”几何图形:
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 中