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