C ++:使用的fread和fwrite的环BMP复制,导致输出BMP填充有在输入BMP的第一个的颜色

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

  •  19-09-2019
  •  | 
  •  

我不知道为什么,但第一像素(左底部)被正确地装载,而其他则无法装入和所述第一颜色被用于整个画面...

我有这样的循环

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

编辑:

PIX是三个无符号字符(RGB)结构,加载文件和信息头似乎是确定

有帮助吗?

解决方案

什么操作系统您使用的?我最近有问题,在Win32下读二进制文件。原来,我忘了通过“B”标志的fopen:

pictureIn = fopen ("in.bmp", "rb");
pictureOut = fopen ("out.bmp", "wb");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top