C ++: Kopieren von BMP Verwendung Schleife von fread und fwrite bewirkt Ausgang mit BMP Farbe der ersten im Eingang BMP gefüllt ist

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

  •  19-09-2019
  •  | 
  •  

Frage

Ich weiß nicht, warum, aber erster Pixel (links unten) richtig eingelegt, aber die andere werden nicht geladen und die erste Farbe für ganzes Bild verwendet ...

Ich habe dies im Zyklus

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

edit:

pix Struktur von drei unsigned chars (rgb) ist, Laden der Datei und Info-Header scheinen in Ordnung zu sein

War es hilfreich?

Lösung

Was OS verwenden Sie? Vor kurzem hatte ich Problem mit binären Dateien unter Win32 zu lesen. Es stellte sich heraus, dass ich vergessen „b“ Flagge zu fopen weitergeben müssen:

pictureIn = fopen ("in.bmp", "rb");
pictureOut = fopen ("out.bmp", "wb");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top