在WPF中,我开始使用LineGeometry,EllipseGeometry,GeometryGroup,Path等类来绘制2D图形。我选择了这些形状,因为我看到它可以更快,因为冻结功能。
我需要使用特定字体绘制文本和几何图形。文本需要使用与几何相同的坐标系来定位。我需要能够应用转换,如RotateTransform。
最好的方法是什么?我遇到了GlyphRunDrawing类,但它真的很复杂。
提前多多感谢。
答案 0 :(得分:32)
要创建文本几何体,只需使用FormattedText.BuildGeometry,例如,在字体Tahoma中获得“Text to display”的几何体,在点(5,5)处使用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
中