C# Graphiques.Cordon de serrage RectangleF Auto-Hauteur: Comment trouver la hauteur?

Je suis en train d'écrire du texte sur une image à l'aide de Graphiques Cordon de serrage méthode, la liaison de mon texte avec un RectangleF. Voici mon code:

//Write header2
RectangleF header2Rect = new RectangleF();
header2Rect.Width = 600;
header2Rect.Location = new Point(30, 105);
graphicImage.DrawString(header2, new Font("Gotham Medium", 28, FontStyle.Bold),brush, header2Rect);
//Write Description
RectangleF descrRect = new RectangleF();
descrRect.Width = 600;
int measurement = ((int)graphicImage.MeasureString(header2, new Font("Gotham Medium", 28, FontStyle.Bold)).Height);
var yindex = int.Parse(105 + header2Rect.Height.ToString());
descrRect.Location = new Point(30, 105+measurement);
graphicImage.DrawString(description.ToLower(), new Font("Gotham", 24, FontStyle.Italic), SystemBrushes.WindowText, descrRect);

Cela fonctionne pour certains cas (ie. lorsque header2 est à seulement 1 ligne de long), mais mon measurement variable que les mesures de la hauteur de la Police, non pas à l'ensemble DrawString rectangle. Je n'ai pas envie de mettre un statique header2Rect hauteur parce que les hauteurs de changer en fonction de ce texte.

yindex ne fonctionne pas car header2Rect.Height = 0. Est-il un moyen de voir comment de nombreuses lignes de mon header2 est?

Dois-je tout simplement besoin de faire MeasureString de la largeur et de la diviser par ma limite rectangle de largeur, puis multiplier par le MeasureString hauteur? Je suis en supposant qu'il existe une meilleure façon.

Grâce

[MODIFIER] Il ressemble à la hauteur est en fait 0 mais le texte déborde à l'extérieur, mais la largeur resserre encore l'habillage de texte. J'ai juste fait quelques calculs mathématiques pour trouver la hauteur, mais je souhaite qu'il y ait une meilleure façon.

OriginalL'auteur Evan Layman | 2011-07-19