我有一个将.BMP
转换为.PPM
的函数。
由于.PPM
在每行像素的末尾不需要填充,因此我有一个跳过填充的循环并将每个像素写入.PPM
文件。然而......他们被向后复制。 RGB-> BGR。我不知道为什么,我认为fwrite
按顺序写入所有字节。
for(h = HEIGHT*((WIDTH*3) + WIDTH%4); h>=0; h -= (WIDTH*3) + WIDTH%4)
{
fwrite(&BMPDATA[p->__Index][54 + h], 1, WIDTH*3, fp);
}
BMPDATA
是一个包含.BMP
文件的2D缓冲区。
54
是像素开始的偏移量。
我做错了什么?