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 :

problème chargement BMP


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 123
    Par défaut problème chargement BMP
    bonjour,

    j'ai un problème concernant le chargement de fichiers BMP. quand je reecris l'image, les pixels de l'image se trouvent decalés. Je me demande si à la lecture je fais ce qu'il faut sachant que j'ai lu pour le format BMP qu'il fallait complété chaque ligne par des 0 pour qu'elle soit multiple de 4.

    Pour la lecture,J'ai essayé ce bout de code mais ça ne marche pas.(lecriture est le meme excepté qu'on a write a la place de read)

    J'avoue que je commence à tourner en rond et je suis un peu perdu. quelqu'un pourrait-il m'eclairer?
    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
     
    for (int i=0;i<hauteur;i++)
    {
    	for (int j=0;j<largeur;j++)
    	{
    		if(j == (largeur-1))
    		{
    		    if(largeur%4 == 0)
                        {   
                         f.read((char*)&image[i][j],sizeof(char));
    		    }
    		    else
    		    {
                         f.read((char*)&image[i][j],sizeof(char));
    		     char inutile;
                         for (int k=0; k< (int)(largeur - (largeur/4)*4); k++)
                         f.read((char*)&inutile,sizeof(char));
    		    }
    		}
    		else
    		{
                         f.read((char*)&image[i][j],sizeof(char));
                         //printf("%d\n",&image[i][j]);
    		}
             }
    }

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Le chargement de bitmaps à ma main c'est plus vraiment d'actualité, pourquoi n'utilises-tu pas l'une des nombreuses bibliothèques qui le font déjà très bien ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 123
    Par défaut
    tout simplement parce que je veux savoir comment on fait. C'est l'objectif de mon projet. Je sais que des truc style freeimage evite de se poser des questions....
    enfin ca serait sympa si qqun pouvait m'aider....

    Merci

  4. #4
    Membre confirmé Avatar de BigNic
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 195
    Par défaut
    Evidement tu as pensé au Header ?
    Quand au 0 ça fait longtemps que j'ai pas joué avec des BMP, mais il me semble que ce n'est pas necessaire. Peut être sous les sytéme 64 bits seulement ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 123
    Par défaut
    oui j'ai pensé au FILEHEADER et INFOHEADER.
    J'ai essayé un truc avec une image 1 bit/pixel : au lieu de lire 2 RGBQUAD (un pour chaque couleur) j'en lis 4. Et là ça fonctionne!!!C'est donc qu'il ya un decalage qqpart....

  6. #6
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    as-tu essayé avec des images dont les dimensions (la largeur surtout) sont multiples de 4 ?
    Tu seras au moins vite fixé pour savoir si le souci se pose dans les 0 à rajouter ou autre part.

    Et je confirme qu'il est nécessaire de compléter chaque ligne par des 0 pour avoir un nombre d'octets multiple de 4.

Discussions similaires

  1. Réponses: 8
    Dernier message: 08/11/2021, 10h43
  2. Réponses: 5
    Dernier message: 17/10/2006, 18h27
  3. [Applet] Problème chargement de classe
    Par simsky dans le forum Applets
    Réponses: 1
    Dernier message: 08/05/2006, 19h31
  4. [FLASH MX] Problème chargement/preloader
    Par Gwenouille dans le forum ActionScript 1 & ActionScript 2
    Réponses: 6
    Dernier message: 26/04/2006, 13h03
  5. [FLASH 8] Probléme chargement .swf et variable
    Par segphault dans le forum Flash
    Réponses: 1
    Dernier message: 24/10/2005, 13h18

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