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

Qt Discussion :

resolution d'une QImage


Sujet :

Qt

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 25
    Points
    25
    Par défaut resolution d'une QImage
    Bonjour à tous!
    Voila mon probleme : je developpe une application de traitement d'image et j'ai un viewer qui permet de voir l'image en taille reel et de faire correspondre l'image à la taille du QLabel. Il s'agit presque exactement du viewer des exemples de Qt.
    Je souhaiterai cependant pouvoir afficher l'image dans le QLabel, réduite pour la voir en entier, mais en concervant le ratio. J'ai donc essayer cela :
    float w = imageLabel->width();
    float h = imageLabel->height(;
    imageLabel->setPixmap(pix.scaled(w, h, Qt::KeepAspectRatio));
    Mais cela me donne une image riquiqui. Je me suis dis que la taille de devait pas être à la bonne unitée.
    Pour convertir j'aurai besoin de la résolution de l'image. Existe-t-il une fonction dans Qt qui permet de récuperer la résolution? J'ai trouver DotsPerMeterY mais je ne vois pas trop comment l'utiliser.
    Par la suite, je souhaiterai faire un petit outil qui permetrait d'afficher la résolution et la taille de l'image en différentes unités. Quelqu'un connait-il des règles de conversion ?

    Merci beaucoup.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par glamdrig Voir le message
    Mais cela me donne une image riquiqui. Je me suis dis que la taille de devait pas être à la bonne unitée.
    l'unité est le pixel donc oui. A quel moment fait tu cela. Après l'affichage de l'ihm ou avant le premier show?
    Pour cntr^lé un peut cela, tu devrais faire le paint toi même. Regarde ce tuto :
    http://www.digitalfanatics.org/qt4/articles/zoomer.html

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    Je fais cela suite à l'action de l'utilisateur d'ouvrir une image qu'l va chercher dans ces fichiers, donc l'IHM est en place.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par glamdrig Voir le message
    Je fais cela suite à l'action de l'utilisateur d'ouvrir une image qu'l va chercher dans ces fichiers, donc l'IHM est en place.
    ok, dinc c'est bon.
    Du coup, au debut, quand tu met le QLabel dans le scroll area, il et vide? ca viens peut être de la. L'image riquiqui sur tu voie est bien la taille du label dans le scrollarer.
    Si tu veut que l'image prenne le max de place, pourquoi mettre le label dans un scrollarea?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    Le scrollarea me sert lorsque j'affiche l'image en taille reel, ou que je fais un zoom /dézoom. En fait j'ai un petit menu contextuel qui permet de changer du mode taille réél à fitWindow.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    regarde si cette fonction ne serait pas plus adapté pour redimensionner ton image :
    http://qt.developpez.com/doc/4.6-sna...umviewportsize

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    Oui, merci! Sa marche bien si je fais :
    imageLabel->setPixmap(myPixmap->scaled(scrollArea->maximumViewportSize(), Qt::KeepAspectRatio));
    imageLabel->adjustSize();
    Super merci beaucoup pour tes conseils .

    Juste une autre question. Y a-t-il des fonctions sous Qt qui permettent de connaitre la résolution de l'image ? Je voudrais pouvoir par exemple afficher les informations sur l'image, comme sa taille en cm, en pixel, sa résolution en ppi,...

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    QPixmap hérite de QPaintDevice et possède donc ses fonctions :
    http://qt.developpez.com/doc/4.6/qpaintdevice/.

    A voir si cela te donne les bonne choses.

    Si tu as la taille en pixel est le dpi, tu as tous ce qu'il te faut pour faire les calculs.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    Super, merci beaucoup pour tes réponses .
    Décidément Qt c'est génial.

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

Discussions similaires

  1. Resolution d'une formule
    Par Seth77 dans le forum Excel
    Réponses: 1
    Dernier message: 22/08/2007, 20h29
  2. Changement de resolution d'une application
    Par tk_dlph dans le forum Delphi
    Réponses: 1
    Dernier message: 18/04/2007, 07h46
  3. Augmenter la résolution d'une image
    Par tlemcenvisit dans le forum Images
    Réponses: 3
    Dernier message: 20/10/2006, 14h03
  4. [debutant]resolution d'une erreur
    Par Bigstef dans le forum Langage
    Réponses: 8
    Dernier message: 12/06/2006, 14h51
  5. [LG] Résolution d'une inéquation
    Par Sid ali dans le forum Langage
    Réponses: 6
    Dernier message: 30/12/2005, 22h12

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