1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| // **********************************************************************
/// <summary>
/// Imprime un texte a la position x,y et le decoupe eventuellement pour passe a la ligne
/// Si on déborde wi
/// </summary>
/// <param name="dum">La chaine a imprimer</param>
/// <param name="x">X supérieur gauche</param>
/// <param name="y">Y supérieur gauche</param>
/// <param name="Wi">Largeur permise pour l'impression</param>
/// <param name="fnt">Font</param>
/// <param name="br01">Brush</param>
/// <param name="g">graphics</param>
/// <returns></returns>
public SizeF prBloc(string dum, float x, float y, int Wi, Font fnt, Brush br, Graphics g)
{
StringFormat tsf = new StringFormat();
SizeF MesureChaine = g.MeasureString(dum, fnt, Wi, tsf);
int nbh = (int)(MesureChaine.Width / Wi) + 1;
int cX = (int)(x);
RectangleF posText = new RectangleF(cX, y, Wi, MesureChaine.Height * nbh);
tsf.Alignment = StringAlignment.Near;
g.DrawString(dum, fnt, br, posText, tsf);
MesureChaine.Height *= nbh;
return MesureChaine;
} |
Partager