Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Candidat au titre de Membre du Club
    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 : 10
    Points
    10

    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 744
    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 744
    Points : 5 707
    Points
    5 707

    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
    Candidat au titre de Membre du Club
    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 : 10
    Points
    10

    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 744
    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 744
    Points : 5 707
    Points
    5 707

    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
  •