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