// Avec g étant votre Graphics
SizeF texteSize = g.MeasureString("Texte à mesurer", LaFontQueVousutilisez);
Très pratique pour faire du positionnement de texte par la suite.
Exemple pour dessiner un carré et une String et centrer le tout en fonction d’un position x.
VbDim g As Graphics = ... ' le graphics sur lequel on dessine
Dim x As Int32 = ... ' la position x de l'ensemble
Dim y As Int32 = ... ' la position y de l'ensemble
Dim texte as String = ... ' le texte à affciher
Dim couleur As Color = ... ' la couleur de remmplicage du carré
Dim _heightCarre As Int32 = 10
Dim _espaceText As Int32 = 4
' Mesurer la longuer du text à afficher
Dim largeurTexte As Int32 = Convert.ToInt32(g.MeasureString(texte, Me.Font).Width)
Dim positionX As Int32 = x - (largeurTexte + _heightCarre + _espaceText) / 2
' Dessiner le carré coloré
Dim rect As new Rectangle(positionX, _legendTop, _height, _height)
g.FillRectangle(new SolidBrush(couleur), rect)
g.DrawRectangle(Pens.Black, rect)
' Dessin du texte
g.DrawString(texte, _
Me.Font, _
Brushes.Black, _
positionX + _heightCarre + _espaceText, _
_legendTop)
C#
Graphics g = ...; // le graphics sur lequel on dessine
Int32 x = ...; // la position x de l'ensemble
Int32 y = ...; // la position y de l'ensemble
Int32 texte = ...; // le texte à affciher
Color couleur = ...; // la couleur de remmplicage du carré
Int32 _heightCarre = 10;
Int32 _espaceText = 4;
// Mesurer la longuer du text à afficher
Int32 largeurTexte = Convert.ToInt32(g.MeasureString(texte, this.Font).Width);
Int32 positionX = x - (largeurTexte + _heightCarre + _espaceText) / 2;
// Dessiner le carré coloré
Rectangle rect = new Rectangle(positionX, _legendTop, _height, _height);
g.FillRectangle(new SolidBrush(couleur), rect);
g.DrawRectangle(Pens.Black, rect);
// Dessin du texte
g.DrawString(texte,
this.Font,
Brushes.Black,
positionX + _heightCarre + _espaceText,
_legendTop);
