2009-06-24 10 views
18

En WPF, estoy empezando a usar clases como LineGeometry, EllipseGeometry, GeometryGroup, Path ... para dibujar gráficos 2D. Elegí estos sobre las formas porque vi que podría ser más rápido gracias a la función de congelación.¿Cuál es la mejor manera de dibujar texto junto con la geometría?

Necesito dibujar texto junto con la geometría, con fuentes específicas. El texto debe posicionarse con el mismo sistema de coordenadas que la geometría. Y necesito poder aplicar una transformación como RotateTransform.

¿Cuál sería la mejor manera? Me encontré con la clase GlyphRunDrawing, pero es realmente complicado.

Gracias mucho por adelantado.

Respuesta

30

Para crear una geometría texto sólo tiene que utilizar FormattedText.BuildGeometry, por ejemplo, para conseguir una geometría de "texto para mostrar" en fuente tamaño Tahoma 16 píxeles en el punto (5,5) Uso:

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)); 

Si necesita hacer esto en XAML, puede finalizar este código en MarkupExtention

+0

¡Muchas gracias! – fury

Cuestiones relacionadas