surfaces-unies/src/ppm.h

38 lines
1.6 KiB
C
Raw Normal View History

/**
* \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
2018-11-11 15:32:27 +00:00
FILE *get_file(const char *filename, const char *mode);
/// \brief Lit le format dun fichier ppm ouvert
void read_file_format(FILE *fp, const char *filename);
/// \brief Vérifie et ignore déventuels commentaires du header dun fichier
void check_for_comments(FILE *fp);
/// \brief Lit les dimensions du fichier ppm ouvert
2018-11-11 15:32:27 +00:00
void read_file_size(FILE *fp, Image *img, const char *filename);
/// \brief Lit et vérifie le format RGB du fichier ppm
2018-11-11 15:32:27 +00:00
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 dune image en tableau natif OpenGL
GLubyte *imageToData(Image_t img);
/// \brief Ouverture et lecture de limage dentrée
2018-11-11 15:32:27 +00:00
int imageLoadPPM(const char *filename, Image_t img);
/// \brief Ouverture et écriture de l'image de sortie
2018-11-06 23:45:09 +00:00
void imageSavePPM(char *filename, Image_t img);
#endif /* IMGTACHES_SRC_PPM_H_ */