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]);
		}
         }
}