C ++: copiar bmp usando bucle de fread y fwrite, hace que la salida bmp está llena de color de la primera uno en bmp entrada

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

  •  19-09-2019
  •  | 
  •  

Pregunta

No sé por qué, pero en primer píxel (izquierda abajo) se ha cargado correctamente, pero los otros no se cargará y el primer color se utiliza para la imagen completa ...

Tengo esto en el ciclo

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

editar

pix es estructura de tres caracteres sin signo (RGB), archivo de carga y encabezado información parece estar bien

¿Fue útil?

Solución

¿Qué sistema operativo está utilizando? Hace poco tuve un problema con la lectura de archivos binarios en Win32. Resultó que se me olvidó pasar "b" bandera a fopen:

pictureIn = fopen ("in.bmp", "rb");
pictureOut = fopen ("out.bmp", "wb");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top