我正在尝试调整位图文件的大小。该文件只是一个从命令提示符获取的常规文件,它采用一个整数来确定文件将被调整多少,并且一旦被接收,就会被处理并输出该文件的调整大小的图像。我觉得我很接近,但接近并不总是重要的。这是我的代码:
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); 
    } 
}  
也许有人可以引导我朝着正确的方向前进。另外,我故意没有发布所有代码。但是,如果需要一切来诊断问题,请告诉我。