Bonjour tout le monde,

j'ai ecrit des fonctions sur la manipulation d'image (.pgm)que je dois tester et je ne sais pas comment faire.
1-Je doit charger une photo et l'afficher,
2-en faire une copie
3-sauvegarder la copie dans un fichier texte.

Structure image_t:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
typedef struct
	{
	unsigned long nx;
	unsigned long ny;
	unsigned long nb_ng;
	unsigned char *buff;
	} image_t;
fonction de creation de l'image et de copie de l'image.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
image_t *creer_image(){
	image_t * img1;
 
	img1 = (image_t*)malloc(sizeof(image_t));
	img1->nx=0;
	img1->ny=0;
	img1->nb_ng=0;
	img1->buff=NULL;
 
	return img1;
 }
image_t *copier_image(image_t *src){
	image_t *dest;	
	dest=creer_image();
	dest->nx=src->nx;
	dest->ny=src->ny;
	dest->nb_ng=src->nb_ng;
	dest->buff=(unsigned char*)malloc(src->nx*src->ny*sizeof(unsigned char));
	memcpy(dest->buff,src->buff,src->nx*src->ny*sizeof(unsigned char));
 
	return dest;
}
fonction pour sauvegarder l'image dans un fichier texte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int sauver_image_pgm(char *nom_fichier, image_t *img){
 
	FILE *fic;
 
	fic=fopen(nom_fichier,"w");
	if(fic==NULL){
	    fprintf(stderr,"impossible d'ouvrir le fichier");
	    return 0;
	}
	fprintf(fic,"P5\n");
	fprintf(fic,"%d %d\n",img->nx,img->ny);
	fprintf(fic,"%d\n",img->nb_ng);
 
	fwrite(img->buff,img->nx,img->ny*sizeof(unsigned char),fic);
	fclose(fic);
 
	return 1;
}
Donc mon probleme est que je ne sais pas ce que je dois mettre dans la fonction main pour tester toute ces fonctions.


Merci