Bonsoir à tous,

J'ai implémenté une fonction permettant de lire un format en PGM et j'aimerais le faire pour un fichier PPM mais je ne vois pas comment modifier les boucles for pour que ca fasse ce que je souhaite.

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
int i, j;
  char d;
 
  char header [100], *ptr;
  ifstream ifp;
 
  ifp.open(fname, ios::binary | ios::in);
 
  if (!ifp)
  {
    cout << "Can't read image: <" << fname << '>' << endl;
    exit(1);
  }
 
  ifp.getline(header,100,'\n');
  if((header[0]!='P') || header[1]!='6')   /* 'P5' Formay */
  {
    cout << "Image <" << fname << "> is not in binary PGM 'P5' format." << endl;
    exit(1);
  }
 
  ifp.getline(header,100,'\n');
 
  M=strtol(header,&ptr,0);
  cout << M;
  N=atoi(ptr);
 
  ifp.getline(header,100,'\n');
 
  Q=strtol(header,&ptr,0);
 
  *fimage = new int* [N];
  for(i=0; i<N; i++)
    (*fimage)[i] = new int[M];
 
 
 
  for(i=0; i<N; i++)
  {
    for(j=3; j<M; j++)
    {
      d = ifp.get();
      (*fimage)[i][j]= (int)d;
      cout << (*fimage)[i][j] << " ";
    }
 
    cout << endl;
 
  }

Merci à vous.