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
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
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