Récupérer le contenu d'un fichier bitmap dans une matrice

Résolu
ibrsoft Messages postés 4 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 10 janvier 2012 - 8 janv. 2012 à 14:27
ibrsoft Messages postés 4 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 10 janvier 2012 - 10 janv. 2012 à 19:49
salut tous
je veux récupérer le contenu d'un fichier bitmap dans une matrice comment je doit procéder
exemple: le fichier 1.bmp représente le chiffre 1 je veux que ma matrice soit récupérée comme suit:

0,0,0,1,0,
0,0,1,1,0,
0,0,0,1,0,
0,0,0,1,0,
0,0,0,1,0
et merci de votre passage et aide

4 réponses

ibrsoft Messages postés 4 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 10 janvier 2012
10 janv. 2012 à 19:49
Merci buno
3
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
9 janv. 2012 à 09:14
Hello,
Jettes un coup d'oeil sur ma source, ça va sûrement t'aider...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
ibrsoft Messages postés 4 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 10 janvier 2012
10 janv. 2012 à 00:14
salut
voila le code une autre fois

#include <stdio.h>
#include <stdlib.h>

typedef struct
{   //1-Entête du fichier
    char signature[2];//indique s'il s'agit d'un fichier BMP à l'aide des deux caractères BM sur 2 octets.
    int fileSize;//La taille totale du fichier en octets (sur 4 octets)
    int reserved;//Un champ réservé (sur 4 octets)
    int offset;//adresse relative du début des informations concernant l'image par rapport au début du fichier
    //2-Entête de l'image
    int taille;//La taille de l'entête de l'image en octets (codée sur 4 octets).
    int largeur;
    int hauteur;
    short nplans;//Cette valeur vaut toujours 1
    short nbits;//le nombre de bits utilisés pour coder la couleur
    int compression;//vaut 0 lorsque l'image n'est pas compressée
    int taille_img;//La taille totale de l'image en octets (sur 4 octets).
    int hRes;//résolution horizontale  nombre de pixels par mètre horizontalement
    int vRes;
    int nColor;
    int nImportantColor;

}bmpInfo;
void imageInfo(bmpInfo* img){
        printf("Signature :%c%c\n", img->signature[0], img->signature[1]);
        printf("taille totale du fichier %d\n",img->fileSize);
        printf("reservee %d\n",img->reserved);
        printf("decalage : %d\n",img->offset);
}

int main()
{
    FILE* fichier=NULL;
    bmpInfo *img=malloc(sizeof(bmpInfo));
    fichier=fopen("1.bmp","rb");
    if (fichier == NULL)
        printf ("Erreur a l'ouverture du fichier\n");
    else {
        printf ("Fichier bien ouvert !\n");
        fread(img,sizeof(bmpInfo),1,fichier);
        imageInfo(img);
        fclose(fichier);
    }
    return 0;
}


voila le résultat de l’exécution:

Fichier bien ouvert !
Signature :BM
taille totale du fichier 0
reservee 4063232
decalage : 2621440

le pb de taille et offset?
@++
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
10 janv. 2012 à 10:44
C'est quoi la question?


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Rejoignez-nous