1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| void LoadPpm(char* name,float** matR,float** matV,float** matB,int length,int width)
{
int i,j;
unsigned char varb,varv,varr;
char buff[NBCHAR];
char stringT1[NBCHAR],stringT2[NBCHAR];
int ta1,ta2,ta3;
FILE *fic;
/*-----nom du fichier ppm-----*/
strcpy(buff,name);
strcat(buff,".ppm");
printf("---> Ouverture de %s",buff);
/*----ouverture du fichier----*/
fic=fopen(buff,"rb");
if (fic==NULL)
{ printf("\n- Grave erreur a l'ouverture de %s -\n",buff);
exit(-1); }
/*--recuperation de l'entete--*/
fgets(stringTmp1,100,fic);
fgets(stringTmp2,100,fic);
fscanf(fic,"%d %d",&ta1,&ta2);
fscanf(fic,"%d\n",&ta3);
/*--affichage de l'entete--*/
printf("\n\n--Entete--");
printf("\n----------");
printf("\n%s%s%d %d \n%d\n",stringTmp1,stringTmp2,ta1,ta2,ta3);
/*--chargement dans la matrice--*/
for(i=0;i<length;i++) for(j=0;j<width;j++)
{
fread(&varr,1,1,fic);
fread(&varv,1,1,fic);
fread(&varb,1,1,fic);
matR[i][j]=varr;
matV[i][j]=varv;
matB[i][j]=varb;
}
/*---fermeture du fichier---*/
fclose(fic);
} |
Partager