读取PPM iamge文件P3,然后使用C将输出写入文件

问题描述

readData应该从.ppm文件中读取Image结构,写入数据应将其PPM格式的Image结构写入标准输出,而免费的图像应释放Image对象。

这是我尝试过的方法,但是我没有得到正确的输出

#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>

typedef struct Color 
{
    uint8_t R;
    uint8_t G;
    uint8_t B;
} Color;
typedef struct Image
{
    Color **image;
    uint32_t rows;
    uint32_t cols;
} Image;

//Loads an image from a ppm file,and converts to an Image object
extern Image *readData(char *filename);

//Writes an image to stdout
extern void writeData(Image *image);

//Frees an image and all its associated data
extern void freeImage(Image *image);

解决方法

我们可以使用fscanf,它忽略空格和换行符。 这将有助于读取数据并解决问题。