IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Stocker pixels d'un bitmap dans un tableau


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bricechris
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 47
    Par défaut Stocker pixels d'un bitmap dans un tableau
    Bonjour,

    Je sais que cette question est déjà arrivée, mais ça fait quand même plusieurs heures que je suis dessus et je n'ai toujours pas trouvé la solution, malgré mes recherches.

    Comme l'indique le titre, je souhaite tout simplement récupérer chaque pixel d'une image bmp et les stocker dans un tableau à 2 dimensions. Je sais qu'un pixel peut être sous 2, 4, 8, 16, 24 ou 32 bits (j'en est peut-être ajouté un ou deux de trop).

    J'ai regardé les aides qui expliquent la structure du bitmap, mais je ne comprends toujours pas où commence le début du tableau des pixels, et s'il faut sauter des lignes à certains moments, ou je ne sais quoi.

    La seule chose que j'ai réussi à trouver jusqu'ici, c'est de relever les informations du header.

    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
    38
    39
    40
    41
    #include <stdio.h>
     
    typedef struct
    {
        int T; /* taille de l'image */
        int res; /* zone réservée */
        int offset; /* adresse du dbt de l'image */
        int info; /* taille de la zone info */
        int L; /* largeur de l'image */
        int H ; /* hauteur de l'image */
        short nbplan; /* nbre de plans */
        short bppixel; /* mode en bits / pixel */
        int comp; /* format de compression */
        int tim; /* taille de l'image en octets */
        int Hres; /* résolution Horizontale */
        int Vres; /* résolution Verticale */
        int nbco; /* nbre de couleurs utilisées */
        int impco;   /* nbre de couleurs importantes */
     
    } bmp;
     
    int main()
    {
        FILE *bmp_file;
        bmp bmp;
        char sign[3];
     
        bmp_file = fopen("image.bmp","r");
     
        fgets( sign, sizeof sign , bmp_file);
        fread( &bmp, sizeof bmp, 1, bmp_file );
     
        printf("Largeur = %d\n", bmp.L);
        printf("Hauteur = %d\n", bmp.H);
        printf("Taille = %d\n", bmp.T);
        printf("bppixel = %d\n", bmp.bppixel);
     
        fclose(bmp_file);
     
        return 0;
    }
    Pouvez-vous me montrer comment faire ?
    Par exemple, pour un bitmap avec 24 bits par pixel.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 122
    Billets dans le blog
    148
    Par défaut
    Bonjour,

    Tout ce qui suit le header sont les données des pixels de l'image...

    Vous pouvez utiliser le code présenté ici pour vous aider: http://jeux.developpez.com/sources/o...ges#FORMAT_bmp
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Stocker le résultat de calcul dans un tableau en C
    Par mecaplus dans le forum Débuter
    Réponses: 5
    Dernier message: 10/03/2011, 16h41
  2. Stocker des ensembles de permutations dans un tableau
    Par molka111 dans le forum Collection et Stream
    Réponses: 0
    Dernier message: 24/02/2011, 11h00
  3. Stocker une image Bitmap dans un tableau
    Par ctn82 dans le forum C++
    Réponses: 1
    Dernier message: 04/03/2008, 15h16
  4. Réponses: 2
    Dernier message: 22/04/2007, 21h57
  5. Réponses: 4
    Dernier message: 10/10/2003, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo