2009-06-24 7 views
18

Dans WPF, je commence à utiliser des classes telles que LineGeometry, EllipseGeometry, GeometryGroup, Path ... pour dessiner des graphismes 2D. J'ai choisi ces sur-formes parce que j'ai vu que cela pourrait être plus rapide grâce à la fonction de congélation.Quelle est la meilleure façon de dessiner du texte avec la géométrie?

J'ai besoin de dessiner du texte avec la géométrie, avec des polices spécifiques. Le texte doit être positionnable avec le même système de coordonnées que la géométrie. Et je dois pouvoir appliquer une transformation telle que RotateTransform.

Quel serait le meilleur moyen? J'ai parcouru la classe GlyphRunDrawing mais c'est vraiment compliqué.

Merci beaucoup d'avance.

Répondre

30

Pour créer une géométrie de texte il suffit d'utiliser FormattedText.BuildGeometry, par exemple, pour obtenir une géométrie de « texte pour afficher » en caractères de taille Tahoma 16 pixels au point (5,5) utiliser:

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 vous avez besoin de le faire en XAML, vous pouvez envelopper ce code dans un MarkupExtention

+0

Merci beaucoup! – fury

Questions connexes