2009-06-24 100 views
18

在WPF中,我开始使用LineGeometry,EllipseGeometry,GeometryGroup,Path ...等类来绘制2D图形。我选择了这些形状,因为我看到它可以更快地感谢冻结功能。与几何图形一起绘制文本的最佳方式是什么?

我需要使用特定字体来绘制文字以及几何图形。文本需要用与几何图形相同的坐标系进行定位。我需要能够应用诸如RotateTransform之类的转换。

什么是最好的方法?我跑遍了GlyphRunDrawing类,但它非常复杂。

非常感谢。

回答

30

要创建文本几何只是使用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中包装此代码

+0

非常感谢! – fury 2009-06-24 16:55:50

相关问题