首页 文章

如何将PPM文件读入标准输入

提问于
浏览
0

我无法弄清楚如何将ppm文件读入标准输入,将像素存储在C中的new_pix的二维数组中 . 我真的不知道如何启动它 . 提前致谢!

1 回答

  • 1

    我假设您可以从文件中获取图像的尺寸(称为 WH ) . 如果没有,请阅读wikipedia的格式

    现在,您需要为要进行的2d阵列分配内存 . 您将需要 char **buf (假设为8位灰度 . 您可以使用 longlong long 表示32/64位图像 .

    接下来,为存储图像行的指针分配空间 .

    buf=(char**)malloc(sizeof(char*)*H);
    

    接下来,您需要为每一行分配空间并从stdin读取它(您可以在循环中使用 scanf ) .

    for(int y=0;y<H;y++){
      buf[y]=(char*)malloc(sizeof(char)*W);
      for(int x=0;x<W;x++)
        scanf("%d",&buff[y][x]);
    }
    

    你完成了!请注意,如果您计划分发代码,则必须对malloc返回值进行检查并将W和H限制为合理的值 .

相关问题