2017-07-26 9 views
1

Nous pouvons facilement dessiner un texte à l'intérieur d'un rectangle.C# GDI Comment dessiner un texte pour l'adapter à un rectangle?

enter image description here

Actuellement, je voudrais dessiner un texte à l'intérieur et FIT un rectangle.

enter image description here

S'il vous plaît aider.

+0

ce qui ne signifie exactement ajustement? vous voulez que le texte ait la même hauteur et la même largeur que le rectangle? –

+0

Oui, vous l'avez. La chaîne de texte peut être étirée en fonction de la hauteur et de la largeur de ce rectangle. – Paimiya

+0

Veuillez poster le code que vous utilisez pour la première version, afin que les gens puissent vous montrer comment l'adapter à la deuxième version. – perigon

Répondre

2

Je pense que la meilleure façon est à l'échelle la sortie graphique au rectangle de destination:

public static class GraphicsExtensions 
{ 
    public static void DrawStringInside(this Graphics graphics, Rectangle rect, Font font, Brush brush, string text) 
    { 
     var textSize = graphics.MeasureString(text, font); 
     var state = graphics.Save(); 
     graphics.TranslateTransform(rect.Left, rect.Top); 
     graphics.ScaleTransform(rect.Width/textSize.Width, rect.Height/textSize.Height); 
     graphics.DrawString(text, font, brush, PointF.Empty); 
     graphics.Restore(state); 
    } 
}