Précédent   Forum du club des développeurs et IT Pro > C et C++ > Bibliothèques > Qt
Qt Forum d'entraide technique sur la bibliothèque Qt. Avant de poster -> F.A.Q Qt
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/12/2012, 18h03   #1
HH.HalimK
 
Homme Hamza Halim
Chercheur en informatique
Inscription : décembre 2012
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme Hamza Halim
Localisation : Maroc

Informations professionnelles :
Activité : Chercheur en informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2012
Messages : 10
Points : -1
Points : -1
Par défaut Qt et Image BMP

salut,

j'ai un petit problème je travail sur le format BMP, et je veux l'afficher a partir de la matrice des pixels obtenue d'un fichier BMP, voilà le code de l'obtention de la matrice :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
for(int y = 0 ; y < return_IMG.height   ; y++)
			{
				for(int x = 0 ; x < return_IMG.width*3 ; x++)
				{
 
					if(!feof(OpenBitMap))//test de la fin du fichier BMP
					{
						pel = getc(OpenBitMap);
						return_IMG.image[x][y] = pel;
 
					 }
				}
			}
avec le type de return_IMG est la structure R_Img :
Code :
1
2
3
4
5
6
7
 
typedef struct
{
	pixel image[200][200];
	doubleWord height;
	doubleWord width;
}R_Img ;
et :
typedef unsigned char pixel;
typedef unsigned int doubleWord;

pixel pel;

les pixels sont codés sur 24 bits en B-V-R donc je les transforme en R-V-B.

alors ce que je veux moi c'est afficher l'image a partir de la matrice avec Qt ?
HH.HalimK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 19h49   #2
Amnell
Rédacteur
 
Avatar de Amnell
 
Homme Louis du Verdier
Étudiant
Inscription : mars 2009
Messages : 1 600
Détails du profil
Informations personnelles :
Nom : Homme Louis du Verdier
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 1 600
Points : 5 048
Points : 5 048
Bonsoir,

Si votre image suite le format classique BMP, vous pouvez tout simplement utiliser un QImage/QPainter/QPicture pour charger ça, selon les besoins. Sinon, lors de l'ouverture, vous pouvez exploiter les fonctions de QImage pour définir les pixels ligne par ligne.

Bonne continuation,
Amnell.
Amnell est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/12/2012, 20h26   #3
HH.HalimK
 
Homme Hamza Halim
Chercheur en informatique
Inscription : décembre 2012
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme Hamza Halim
Localisation : Maroc

Informations professionnelles :
Activité : Chercheur en informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2012
Messages : 10
Points : -1
Points : -1
mercii c'est ce que j'ai trouvé ,donc je vais essayer de faire le travail si non je te montre un morceau de code pour que tu m'aide a le faire et mercii .

mai une question ,que veux-tu dire avec 'suit le format classique de BMP' ?
HH.HalimK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 21h51   #4
Amnell
Rédacteur
 
Avatar de Amnell
 
Homme Louis du Verdier
Étudiant
Inscription : mars 2009
Messages : 1 600
Détails du profil
Informations personnelles :
Nom : Homme Louis du Verdier
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 1 600
Points : 5 048
Points : 5 048
Bonsoir,

Votre image est une image classique BMP, ce n'est pas un pseudo format intermédiaire entreposé entre le standard et une version personnalisée, quelle qu'elle soit ? Dans ce cas :

Code :
1
2
3
4
QPixmap img("/path/to/the/picture.bmp");
QLabel *label = new QLabel;
label->setPixmap(img);
label->show();
Voici.

Bonne continuation,
Amnell.
Amnell est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h08.


 
 
 
 
Partenaires

Hébergement Web