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

C# Discussion :

Measurestring pour taille d'image


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Measurestring pour taille d'image
    Salut
    J'avais fais ce post sur un autre sujer mais je pense qu'il est preferable d'ouvrir un nouveau sujet !

    J'ai encore une interrogation sur l'usage des bitmaps et graphics

    Admettons que je souhaite creee un bitmap sur lequel je dois imprimer du texte

    Seul un graphics me permet de definir la taille du texte (qui est néammoins fonction du font et pas du graphics)

    Or je ne peux pas definir un graphics sans support (bitmap)
    Mais comme je ne connais pas la taille exacte que deva avoir le bitmap avant d'avois mesuré avec le graphics cela me semble un noeud gordien

    Comment faire sinon definir un bitmap assurément trop grand et couper ensuite ?

  2. #2
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    en utilisant 2 graphics peut-être ? Un pour calculer les tailles, l'autre créé à partir de la taille calculée sur le premier .. Ou alors, j'ai pas compris la question

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salu

    Tu a bien compris la question

    Mais je trouve idiot de devoir definir un graphics et donc aussi etre obligé de lui associer un controle ou un bitmap pour simplement onnaitre la taille d'un string afin de pouvoir definir le bitmap final qui va le contenir

    A priori j'esperais pouvoir utiliser une methode Font.MeasureSting comme ce que j'avais trouvé dans le lien ci joint mais C# ne semble pas la connaitre



    http://msdn.microsoft.com/en-us/libr...36(VS.85).aspx

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Finalement je truque en déclarant un graphics de calcul avec une image de 1 pixel, mais c'est quand meme un peu spécial

    Je peux comprendre que l'usage du graphics est nécessaire si l'on passe par des matrice de transformation mais on devrait pouvoir utiliser une methode MeasureString sans graphics a mon avis ?



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
          Image testImg = new Bitmap(1, 1);
          Graphics testGrx = Graphics.FromImage(testImg);
          SizeF SizeCell;
          SizeCell = testGrx.MeasureString(Text, fnt);

  5. #5
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    J'ai regardé un peu par curiosité mais je n'ai effectivement rien trouvé de mieux.

    Est-ce que la fonction MeasureString te renvoie des valeurs acceptables ?
    J'ai voulu utiliser ça récemment pour une grille de données, et à chaque calcul il me manquait bien 1 ou 2 caractères en largeur. Mais peut-être que ça vient du controle grille lui-même. Comme je vois que tu es la-dedans, si tu pouvais me donner un retour d'expérience, ça me serait utile. Merci.

  6. #6
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut,

    Non pour le moment je n'ai rencontré aucun proplème de ce type (poutant j'ai déja vu des sujets qui en parlait)


    Je dessine un grid

    1- je calcule d'abord les longueurs max de colonnes avec le measurestring
    2- Ensuite je fais des drawstring de chaque cellule dans les rectangle calculés a a partir des dimensions précalculées.

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/07/2010, 15h39
  2. Avoir pour toutes les images la même taille
    Par namstou3 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 13/12/2007, 15h35
  3. Composant pour stocker des images de différentes tailles
    Par CrocoB dans le forum Composants VCL
    Réponses: 17
    Dernier message: 18/09/2007, 18h50
  4. script pour redimmensnionner image et taille maxi image
    Par fabien14 dans le forum Langage
    Réponses: 21
    Dernier message: 15/09/2006, 17h21
  5. Réponses: 10
    Dernier message: 20/01/2006, 16h59

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