在 WPF 中,我开始使用 LineGeometry、EllipseGeometry、GeometryGroup、Path 等类来绘制 2D 图形。我之所以选择这些形状,是因为我发现由于冻结功能,它可以更快。
我需要使用特定字体绘制文本和几何图形。文本需要使用与几何图形相同的坐标系进行定位。而且我需要能够应用诸如 RotateTransform 之类的变换。
最好的方法是什么?我遇到过 GlyphRunDrawing 类,但它真的很复杂。
提前非常感谢。
要创建文本几何图形,只需使用 FormattedText.BuildGeometry,例如,要在点 (5,5) 处以 Tahoma 大小 16 像素获取“要显示的文本”几何图形,请使用:
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 中