37 lines
1.5 KiB
C
37 lines
1.5 KiB
C
/**
|
||
* \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(char *filename, const char *mode);
|
||
/// \brief Lit le format d’un fichier ppm ouvert
|
||
void read_file_format(FILE* fp, 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, char *filename);
|
||
/// \brief Lit et vérifie le format RGB du fichier ppm
|
||
void read_rgb(FILE *fp, char *filename);
|
||
/// \brief Lit dans le conteneur les données images du fichier ppm
|
||
unsigned long read_data(FILE *fp, Image *img, GLubyte *data, 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(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_ */
|