与几何一起绘制文本的最佳方法是什么?

fur*_*ury 20 wpf geometry text draw

在WPF中,我开始使用LineGeometry,EllipseGeometry,GeometryGroup,Path等类来绘制2D图形.我选择了这些形状,因为我看到它可以更快,由于冻结功能.

我需要使用特定字体绘制文本和几何.文本需要使用与几何相同的坐标系来定位.我需要能够应用RotateTransform等变换.

什么是最好的方式?我遇到了GlyphRunDrawing类,但它真的很复杂.

非常感谢提前.

Nir*_*Nir 32

例如,要创建文本几何体,请使用FormattedText.BuildGeometry来获取字体Tahoma大小的"要显示的文本"的几何图形在点(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));
Run Code Online (Sandbox Code Playgroud)

如果需要在XAML中执行此操作,可以将此代码包装在MarkupExtention中