/** * \file ppm.h * \brief Fichier d'en-tête pour les fonctions de manipulation d'images ppm * * En-tête contenant la déclaration de fonctions de lecture et d'écriture de * fichiers au format ppm. La définition des fonction se trouve dans \ref ppm.c * */ #ifndef IMGTACHES_SRC_PPM_H_ #define IMGTACHES_SRC_PPM_H_ #include "utilities.h" /// \brief Ouvre un fichier avec les autorisations demandées FILE *get_file(const char *filename, const char *mode); /// \brief Lit le format d’un fichier ppm ouvert void read_file_format(FILE *fp, const char *filename); /// \brief Vérifie et ignore d’éventuels commentaires du header d’un fichier void check_for_comments(FILE *fp); /// \brief Lit les dimensions du fichier ppm ouvert void read_file_size(FILE *fp, Image *img, const char *filename); /// \brief Lit et vérifie le format RGB du fichier ppm void read_rgb(FILE *fp, const char *filename); /// \brief Lit dans le conteneur les données images du fichier ppm unsigned long read_data(FILE *fp, Image *img, GLubyte **data, const char *filename); /// \brief Convertit les données brutes de fichier vers des conteneurs de pixels void dataToImage(Image *img, GLubyte *data, unsigned long size); /// \brief Convertit les pixels d’une image en tableau natif OpenGL GLubyte *imageToData(Image_t img); /// \brief Ouverture et lecture de l’image d’entrée int imageLoadPPM(const char *filename, Image_t img); /// \brief Ouverture et écriture de l'image de sortie void imageSavePPM(char *filename, Image_t img); #endif /* IMGTACHES_SRC_PPM_H_ */