C ++: la copie de la boucle à l'aide de BMP fread et fwrite, provoque la production de BMP est rempli avec la couleur de la première entrée dans une BMP

StackOverflow https://stackoverflow.com/questions/1884165

  •  19-09-2019
  •  | 
  •  

Question

Je ne sais pas pourquoi, mais premier pixel (en bas à gauche) est correctement chargé, mais les autres ne se charge pas et la première couleur est utilisée pour l'image entière ...

J'ai ce dans le cycle

fread(&pix,sizeof(pix),1,pictureIn);
fwrite(&pix,sizeof(pix),1,pictureOut);

edit:

pix est struct de trois caractères non signés (rgb), fichier de chargement et en-tête d'information semble être ok

Était-ce utile?

La solution

Quel système d'exploitation utilisez-vous? J'ai eu récemment un problème de lecture des fichiers binaires sous Win32. Il est avéré que j'ai oublié de passer le drapeau « b » à fopen:

pictureIn = fopen ("in.bmp", "rb");
pictureOut = fopen ("out.bmp", "wb");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top