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:
Cette méthode est declenchée par un clique sur un bouton.
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) ;
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!!
Partager