Bonjour,
Existe-t-il une méthode pour connaître la largeur en px d'un texte, en fournissant la police, la taille et le mot ?
Merci d'avance,
Jérôme
Version imprimable
Bonjour,
Existe-t-il une méthode pour connaître la largeur en px d'un texte, en fournissant la police, la taille et le mot ?
Merci d'avance,
Jérôme
Regarde la classe MeasureString
Code:
1
2
3
4
5 using(Graphic g = CreatGraphics()) { SizeF sz = g.MeasureString("Hello", new Font("Arial", 40)); }
Heu... je met ca dans quoi ? Ca marche avec une application web ASP.net ? Caron dirait une application Windows.
c'est pas faux :aie:
A mon sens, tu ne peux pas mesurer une chaine en ASP.NET car si on y réfléchit, la taille dépend de paramètres externes comme par exemple une feuille de style ou le paramétrage du navigateur.
Le meilleur ùmoyen apparemment pour obtenir la longueur d'un texte est explique ici
http://www.codeproject.com/KB/GDI-pl...urestring.aspx
seconde methode celle du rangeString
par contre sur ce que j'ai essayé ca donne la bonne longueur mais pas la bonne hauteur ... il ya toujours des margne haute et basse.
Mais en fait la police utilisée pour le dessin contient deja cette info.
Font.Height donne la hauteur du texte avec les marge
Font.SizeInPoint donne la hauteur du texte sans les marge en pixel
avec ces deux infos on peut calcul la taille du texte et les offset pour correctement positionner le texte
Sauf que les navigateurs proposent des options permettant d'augmenter/dimuner la taille de la police etc. Donc savoir la taille réelle me paraît bien compliqué.