Bonjour à tous !
Actuellement en Terminale, je dois réaliser un projet en Informatique et Science du Numérique ( ISN) en fin d'année.
La première partie de mon projet consiste à faire un code permettant de lire une image et de l'afficher dans une fenetre graphique !
Le soucis, c'est qu'une fois que j'ai compilé et que je lance le programme, la fenetre graphique s'ouvre et se ferme automatiquement... Voici le code :
Je me suis aidé d'un TP pris en cours en l'adaptant au cas présent ... Pourriez vous m'aidez s'il vous plait ( et si possible m'expliquer mes erreurs ! ) ?Code:#include "graphics.h" typedef struct { int R,V,B;}pixel; typedef struct {char c1,c2;int L,H,M;pixel *T;}STIM; STIM IM; char *file_source="Fond.ppm"; void lire_en_tete(FILE *F) { if ((fscanf(F,"%c",&IM.c1))<1) exit(1); if ((fscanf(F,"%c",&IM.c2))<1) exit(1); if (!((IM.c1 == 'P') && (IM.c2 == '3'))) exit(2); if((fscanf(F,"%d",&IM.L))<1) exit(1); if((fscanf(F,"%d",&IM.H))<1) exit(1); if((fscanf(F,"%d",&IM.M))<1) exit(1);} void lire_pixels(FILE*F) { int i,j;pixel p; for(i=0;i<IM.H;i++) {for(j=0;j<IM.L;j++) {if((fscanf(F,"%d",&p.R))<1)exit(1); if((fscanf(F,"%d",&p.V))<1)exit(1); if((fscanf(F,"%d",&p.B))<1)exit(1); *(IM.T+i*IM.L+j)=p;}}} void lire_fichier() {FILE *F=NULL; F=fopen("Fond.ppm","r"); lire_en_tete(F); IM.T=malloc(IM.L*IM.H*sizeof(pixel)); printf("%p\n",IM.T); lire_pixels(F); } int main() {init_graphics(900,600); lire_fichier(); wait_escape(); exit(0); }
Merci beaucoup !
-----