我正在尝试调整位图文件的大小。该文件只是一个从命令提示符获取的常规文件,它采用一个整数来确定文件将被调整多少,并且一旦被接收,就会被处理并输出该文件的调整大小的图像。我觉得我很接近,但接近并不总是重要的。这是我的代码:
for (int i = 0, BHeight=abs(bi.biHeight);i<BHeight; i++)
{
buffer = malloc(sizeof(RGBTRIPLE) * bi.biWidth);
// iterate over pixels in scanline
for (int j = 0; j < bi.biWidth; j++)
{
fread(&triple, sizeof(RGBTRIPLE), 1, inptr);
// temporary storage
for (int k=0; i<factor;k++)
{
buffer[k]=triple;
}
} //iterate over each pixel factor times
// write RGB triple to outfile
for(int i=0;i<factor;i++)
{
fwrite(&buffer[i], sizeof(RGBTRIPLE),1,outptr);
}
}
也许有人可以引导我朝着正确的方向前进。另外,我故意没有发布所有代码。但是,如果需要一切来诊断问题,请告诉我。