trikkle
Messages postés18Date d'inscriptionjeudi 29 avril 2004StatutMembreDernière intervention31 mai 2007
-
22 mai 2007 à 14:07
trikkle
Messages postés18Date d'inscriptionjeudi 29 avril 2004StatutMembreDernière intervention31 mai 2007
-
31 mai 2007 à 10:45
Bonjour,
Alors voila mon problème. J'ai trouvé sur MSDN les classes pour calculer la taille que prend un string en fonction de sa police. Le seule problème est qu'il me faut un objet Graphics que je n'est pas.
Cela me sert pour construire une page en ASP.Net dynamique. Dans la méthode précédent l'affichage de la page (page_load), je récupère des données dans une base pour les afficher et je souhaiterai connaitre la taille des string afin de régler l'affichage.
Voici la partie du code :
string stFont="Arial";
System.Drawing.
Font font =
new System.Drawing.
Font(stFont, 11);//créer la police
System.Drawing.
SizeF stringSize =
new System.Drawing.
SizeF();
System.Drawing.
Graphics graphics =
new System.Drawing.
Graphics();
stringSize = graphics.MeasureString(courantLib.getTexte(), font); //calcul la taille de la chaine
Le problème de la méthode "MeasureString" est qu'il lui faut un objet Graphics. J'ai donc essayer d'en construire un mais il n'existe pas de constructeur.
trikkle
Messages postés18Date d'inscriptionjeudi 29 avril 2004StatutMembreDernière intervention31 mai 2007 31 mai 2007 à 10:21
Ok Merci, donc pour ceux qui ont besoin :
System.Drawing.Font font = new System.Drawing.Font("Arial", 11); //définit la Font utilisé
System.Drawing.SizeF stringSize = new System.Drawing.SizeF();
Bitmap bmp = new Bitmap(1, 1);
Graphics graphics = Graphics.FromImage(bmp);
stringSize = graphics.MeasureString(courantLib.getTexte(), font);
float largeur = stringSize.Width;
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 22 mai 2007 à 17:50
Bonjour,
tu peux avoir un objet graphics en créant un bitmap. Mais quelle est l'utilité de ca ? tu fais du web, c'est le client qui gère l'affichage, la taille de la police etc... tu ne fais pas une application windows mais du html/CSS tu n'as normalement pas besoin de connaitre la taille de la police
trikkle
Messages postés18Date d'inscriptionjeudi 29 avril 2004StatutMembreDernière intervention31 mai 2007 23 mai 2007 à 09:08
Bonjour,
En fait je créer un composant web d'affichage d'information personnalisé. Dans la base je récupère le texte à afficher et le style dans lequel l'afficher (police, taille, couleur ...).
Les informations sont ensuite affichées dans un tableau et je ne veut pas que certains textes soient affichées sur deux lignes.
Le site est destiné à être utilisé en intranet dans un premier temps puis peut être extranet par la suite et est designé en 1024px. Je pourrait donc faire nombre de caractère mais certains caratères et police prennent plus de place que d'autres.
Peut-tu me donner un exemple de code de création de bitmap comme tu me le dit.
Merci beaucoup
Vous n’avez pas trouvé la réponse que vous recherchez ?
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 23 mai 2007 à 13:15
ce n'est pas la bonne solution ! il faut faire du HTML, ce sera beaucoup plus simple ! là ou tu veux pas que ca fasse deux lignes tu met un overflow:hidden;height:1em;
trikkle
Messages postés18Date d'inscriptionjeudi 29 avril 2004StatutMembreDernière intervention31 mai 2007 23 mai 2007 à 14:01
En fait, j'avais pas tout dis parce que j'avais pas penser a çà.
En fait dans les infos que j'ai il y a trois texte. Un texte complet avec un max de 30 caractères, un texte de 10 carac et un de 5.
Par exemple :
texte30 : date de naissance
texte10: dt naissan
texte5: dt na
Donc, si je veux connaitre le longueur que prendra le texte en fonction de la police et taille c'est parce que si le plus long passe pas je teste avec celui de 10 et sinon on met celui de 5 caractères.
Voila, en tout cas merci a chque fois pour tes précieuses informations. Un objet Graphics pourrait donc mettre utile je pense.
trikkle
Messages postés18Date d'inscriptionjeudi 29 avril 2004StatutMembreDernière intervention31 mai 2007 30 mai 2007 à 16:29
Bonjour,
un petit up pour savoir si quelqu'un pouvait me montrer un exemple de création d'objet Graphics afin de pouvoir utiliser le code mis dans le premier post.
Il n'y a que l'instanciation de cet objet qui ne marche pas ( Il n'existe de constructeur vide).
trikkle
Messages postés18Date d'inscriptionjeudi 29 avril 2004StatutMembreDernière intervention31 mai 2007 31 mai 2007 à 10:45
Si quelqu'un lit encore ce topic, par contre je ne comprend la valeur retourné n'est pas exact.
La valeurs est bien proportionnel à la longeur de la chaine et des caractère, par contre quand je mesure avec des lignes avec WebDevelopper ce n'est pas la bonne valeur. Retourne 40 alors que je mesure 28. Je ne sais pas pourquoi, car je rentre bien la bonne police et la bonne taille.
Si quelqu'un sait pourquoi ...