bonjour, je souhaite copier le contenu des couleurs d'une images dans un tableau de la taille de l'image.
Pour cela, j'ai choisi le format ppm que je "reformate" en supprimer le P3 (ou Px) et la taille de 'limage.
Je suis en noir et blanc donc une dimension suffit.
j'ai le code suivant :
Et là pas grand-chose marche : la première partie (le "while(getc)") ne copie même pas chaque termes dans le tableau , je pense à une erreur dans mes incrémentations mais je ne la vois pas.
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
23
24
25
26
27
28
29
30
31 int main(void) { FILE *image=fopen("image.ppm","r"); FILE *sortie=fopen("sortie.ppm","w"); int h=0,l=0,i,d=0; ImageTP im_conv; im_conv=InitialiserImageTP(128,128); fseek(image,0,SEEK_SET); h=0;l=0; while(getc(image)!= EOF) { fscanf(image,"%d",&d); im_conv.pixels[h][l]=d; h=(h+1)%128; if (h==0) {l=(l+1)%128;} } fseek(image,0,SEEK_SET); fprintf(sortie,"P3\n128 128\n"); for(l=0;l<128;l++) for(h=0;h<128;h++) { fprintf(sortie,"%d\n",im_conv.pixels[h][l]); printf("%d\n",im_conv.pixels[h][l]); } fclose(image); fclose(sortie); return 0; }
Autre chose, quand je li chaque caractères directement (via un printf) le premier est tronquer : ex : j'ai 255 et j'écrit 55.
Enfin la deuxième partie (les deux for) ne m'écrit pas du tout ce que je veux.
Je ne m'y connais pas trop en lecture de fichier donc si quelqu'un peut me sortir de l'impasse ça me débloquerait la situation...surtout que j'ai plusieurs fontions qui attendent d'être testée.
Partager