Bonjour,
Je débute en C et je souhaite enregistrer en mémoire les pixels d'une image donnée en jpg pour ensuite les modifier (ex: j'ai une image en couleur, j'ouvre l'image, je lis tout les pixels, je les modifie pour les mettre en noir&blanc et crée un nouveau fichier image avec les modifications. J'aurais donc mon image de base en couleur et une autre en n&b).
Je bloque sur la lecture et enregistrement des pixels:
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 #include <stdio.h> #include <jpeglib.h> int main(void) { FILE * fichier; int c; fichier = fopen("image.jpg", "r+"); if(fichier == NULL) { perror("fopen"); } while((c = fgetc(fichier)) != EOF) { putchar(c); } fclose(fichier); fichier = NULL; return 0; }
j'ai trouvé des infos pour un fichier txt mais ça ne marche pas pour une image.
Je ne vois pas du tout comment faire. Faut-il crée un tableau 2 dim et enregistrer pixel après pixel dedans et ensuite modifier case par case les pixels ?
Ou alors suis-je totalement dans le faux ?
Merci d'avance.
Partager