Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité régulier
    Homme Profil pro Hamza Halim
    Chercheur en informatique
    Inscrit en
    décembre 2012
    Messages
    12
    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 : 12
    Points : 9
    Points
    9

    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 ?

  2. #2
    Rédacteur
    Avatar de Amnell
    Homme Profil pro Louis du Verdier
    Étudiant
    Inscrit en
    mars 2009
    Messages
    1 642
    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 642
    Points : 5 117
    Points
    5 117

    Par défaut

    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.

  3. #3
    Invité régulier
    Homme Profil pro Hamza Halim
    Chercheur en informatique
    Inscrit en
    décembre 2012
    Messages
    12
    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 : 12
    Points : 9
    Points
    9

    Par défaut

    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' ?

  4. #4
    Rédacteur
    Avatar de Amnell
    Homme Profil pro Louis du Verdier
    Étudiant
    Inscrit en
    mars 2009
    Messages
    1 642
    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 642
    Points : 5 117
    Points
    5 117

    Par défaut

    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.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •