IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Framework .NET Discussion :

[C#] Largeur d'une chaine en pixel


Sujet :

Framework .NET

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut [C#] Largeur d'une chaine en pixel
    Bonsoir à tous,

    je suis en train de reprendre ma dll générant des fichiers PDF et j'ai un petit soucis, je voudrais récupérer la largeur de la taille passée en paramêtre.

    J'ai trouvé qu'on pouvait faire cela sur les objets graphics

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Graphics Graphic = null;
    SizeF Size = Graphic.MeasureString(Str, this.Font);
    Comment puis-je faire cela sans instancier de contrôle ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    La lib que tu utilises pour le PDF te fournit pas un Graphics ? ou au moins un HDC (hande de device context) ? Si oui tu peux utiliser Graphics.FromHdc.

    Au pire, tu crées un contrôle bidon ou une image, et tu utilises Control.CreateGraphics ou Graphics.FromImage

    Dernière option, tu peux utiliser TextRenderer.MeasureText, qui est statique. Mais d'après ce que j'avais vu ça renvoie pas exactement les même résultats que Graphics.MeasureString... EDIT: en fait TextRenderer est moins précis : il renvoie une taille en entier (Size) alors que Graphics renvoie une taille en float (SizeF)

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Citation Envoyé par tomlev Voir le message
    La lib que tu utilises pour le PDF te fournit pas un Graphics ? ou au moins un HDC (hande de device context) ? Si oui tu peux utiliser Graphics.FromHdc.

    Au pire, tu crées un contrôle bidon ou une image, et tu utilises Control.CreateGraphics ou Graphics.FromImage

    Dernière option, tu peux utiliser TextRenderer.MeasureText, qui est statique. Mais d'après ce que j'avais vu ça renvoie pas exactement les même résultats que Graphics.MeasureString... EDIT: en fait TextRenderer est moins précis : il renvoie une taille en entier (Size) alors que Graphics renvoie une taille en float (SizeF)
    Non en fait c'est une lib que j'ai créer et jusqu'à présent les Font étaient mal gérer, c'était un tableau gigantesque pour récupérer la taille d'un caractère et pouvoir ainsi centre correctement une chaine dans un rectangle.

    Du coup, j'ai utiliser Graphic.FromImage, je ne savais pas que ça existait du coup je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Graphics.FromImage(new Bitmap(10, 10));
    C'est pas trop gourmand et ça fonctionne !

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. figer la largeur d'une page à 1000 pixels
    Par mcog2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/02/2011, 21h31
  2. Longueur d'une chaine en pixel
    Par dede92 dans le forum Langage
    Réponses: 1
    Dernier message: 08/02/2011, 05h59
  3. Réponses: 2
    Dernier message: 29/07/2008, 12h16
  4. [VB6]Taille d'une chaine en pixel
    Par pier* dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 14/04/2006, 12h54
  5. Taille d'une chaine en pixels...
    Par zoubidaman dans le forum C++Builder
    Réponses: 4
    Dernier message: 13/07/2004, 10h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo