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 :

Creation de Buffers multiples en Qt


Sujet :

Qt

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 237
    Points : 131
    Points
    131
    Par défaut Creation de Buffers multiples en Qt
    Bonjour, j'aimerais créer 4 buffers dans mon programme ,mais j'ai un probléme car le buffer disparait apres l'affichage de mon image alors que j'aimerais le garder en mémoire pour pouvoir creer un autre buffer et comparer les deux buffers pour stocker le resultat de la comparaison dans un troisiéme buffer. Voici mon bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    std::vector<float> imageBuffer(bufferSize); //Creation d'un conteneur pour stocker l'image.
            for ( int i = 0; i < bufferSize; ++i)
            {
     
                    in >> f;
                    if (f > max) max = f;  //recherche du max.
                    if (f < min) min = f;  //recherche du min.
     
     
    //Je voudrais garder le buffer apres l'affichage de l'image.
            QImage img(fxd.NbColumns , fxd.NbRows,QImage::Format_RGB32);
            for (int y = 0; y < fxd.NbRows; y++)
            {
                     for (int x = 0; x < fxd.NbColumns; x++)
                      {
     
     
                            pixel = 255
                                     *
                                     (imageBuffer[y * fxd.NbColumns + x] - min)
                                     /
                                     (max - min);
                                       pixel = abs(pixel - 255) ;
     
                                       img.setPixel(x , y , qRgb(pixel , pixel, pixel ));
     
     
                       }
              }
     
    /* Est ce que le bufffer existe toujours en memoire apres la creation de QImage*/
     
            m_label = new QLabel ;
            m_label->installEventFilter(this);
            m_label->setMouseTracking (true);
            m_label->setPixmap(QPixmap::fromImage(img)) ;
                 ui->scrollArea_2->setWidget(m_label) ;
    Cette méthode est declenchée par un clique sur un bouton.
    Et ensuite j'ai crée une autre methode pareil que celle la mais les buffers se detruisent tout seuls
    je comprends pas pourquoi??Si vous pouvez m'aider svp
    merci d'avance!!

  2. #2
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    C'est normal comme ton buffer est declaré dans ta fonction c'est une variable locale. Donc pour resourde ce problème il faut que tu créer tes variable en les mettant membre de ta classe. Comme cela tu y aura acces partout et elle resteront en memoire.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 237
    Points : 131
    Points
    131
    Par défaut
    Et pourtant j'ai declaré ceci dans le "point.h"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    std::vector<float> imageBuffer() ;
    QImage img ;
    Ya quelque chose qui m'échappe car si je declare le buffer avec la taille dans le ".h"j'ai un bogue?? Quelqu'un peut m'expliquer svp

  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
    je veut pas t'alarmer lisco, mais ce sont les bases du C++...
    Prend un peu de temps à reprendre les bases. Sinon tu va pas y arrivé. Regarde le temps que tu perd...
    Il y as de très bonne ressources sur ce site :

    http://cpp.developpez.com/cours/

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

Discussions similaires

  1. Creation d'une liste a choix multiple
    Par d_hazem dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 02/04/2009, 15h53
  2. Creation d'une table avec une colonne a multiple colonne
    Par anubis82 dans le forum Débuter
    Réponses: 2
    Dernier message: 30/03/2008, 17h28
  3. Probleme de java heap space : creation buffered image!
    Par Battosaiii dans le forum Multimédia
    Réponses: 7
    Dernier message: 06/08/2007, 11h49
  4. [MAVEN]creation d'un archetype multiple
    Par DanielW33 dans le forum Maven
    Réponses: 4
    Dernier message: 09/03/2007, 16h49
  5. creation d'une table avec une clé primaire multiple
    Par oursquetaire dans le forum Oracle
    Réponses: 2
    Dernier message: 23/12/2005, 14h29

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