cherche module c++ pour ouvrir des fichiers ppm et pgm !!!!!!!!

cherche module c++ pour ouvrir des fichiers ppm et pgm !!!!!!!! - C++ - Programmation

Marsh Posté le 13-05-2002 à 11:49:23    

et acesoirement pourvoir les convertir via ce module!
merci bcp!

Reply

Marsh Posté le 13-05-2002 à 11:49:23   

Reply

Marsh Posté le 24-04-2003 à 17:21:14    

Elric_snoop a écrit :

et acesoirement pourvoir les convertir via ce module!
merci bcp!  


up

Reply

Marsh Posté le 24-04-2003 à 17:28:38    

Reply

Marsh Posté le 24-04-2003 à 17:41:36    


 
ça m'interesse aussi! [:spartacus2]

Reply

Marsh Posté le 24-04-2003 à 17:44:11    

t'aurais pu en profiter pour préciser le sujet pcq à mon avis ça explique pourquoi il était resté vide :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 24-04-2003 à 18:11:06    

Les formats pgm et ppm sont vraiment tout simples. Tu peux faire un prog toi meme. Va voir sur http://perso-iti.enst-bretagne.fr/ [...] i321-1.pdf !

Reply

Marsh Posté le 25-04-2003 à 09:19:01    

Code :
  1. int
  2. CImage::readPGM(char * filename)
  3. {
  4. FILE * f;
  5.  
  6.   //ouverture du fichier
  7.   if(!(f = fopen(filename, "r" )))
  8.    {
  9.      printf("error loading file %s\n", filename);
  10.      return 0;
  11.    }
  12.  
  13.   //buffer de lecture
  14.   char *buff = (char *)malloc(BUFFER_SIZE * sizeof(char));
  15.   //lecture du magic number
  16.   readline(buff,f);
  17.  
  18.   //lecture des dimensions
  19.   readline(buff,f);
  20.   int h,l;
  21.   sscanf(buff, "%d %d", &l, &h);
  22.   this->setHeight(h);
  23.   this->setLength(l);
  24.   this->val = (int*)malloc(l * h * sizeof(int));
  25.  
  26.   //Lecture de la valeur max
  27.   int max;
  28.   readline(buff,f);
  29.   sscanf(buff, "%d\n", &max);
  30.   this->max = max;
  31.  
  32.   //Lecture des donnees
  33.   for(int i = 0; i < this->getSize(); i++)
  34.     {
  35.       readline(buff,f);
  36.       this->setVal(i, atoi(buff));
  37.     }   
  38.   fclose(f);
  39.   return 1;
  40. }


C'est un bout de code que j'utilise pour faire quelques tests...
A toi de deviner comment sont foutues la classe CImage et l fonction readline.
Attention, c'est pas forcément exempt de tout défaut!C'est juste un exemple qui devrait marcher pas trop mal.
Pour le PPM c'est pareil sauf que tu lis 3 lignes par pixel...
 
[edit]
Attention pour le readline, il peut y avoir des commentaires dans le fichier (par ex. gimp en met systématiquement).
Ils sont identifiés par le caractère # en début de ligne.


Message édité par skeye le 25-04-2003 à 09:24:25
Reply

Marsh Posté le 25-04-2003 à 14:59:01    

skeye a écrit :

Code :
  1. int
  2. CImage::readPGM(char * filename)
  3. {
  4. FILE * f;
  5.  
  6.   //ouverture du fichier
  7.   if(!(f = fopen(filename, "r" )))
  8.    {
  9.      printf("error loading file %s\n", filename);
  10.      return 0;
  11.    }
  12.  
  13.   //buffer de lecture
  14.   char *buff = (char *)malloc(BUFFER_SIZE * sizeof(char));
  15.   //lecture du magic number
  16.   readline(buff,f);
  17.  
  18.   //lecture des dimensions
  19.   readline(buff,f);
  20.   int h,l;
  21.   sscanf(buff, "%d %d", &l, &h);
  22.   this->setHeight(h);
  23.   this->setLength(l);
  24.   this->val = (int*)malloc(l * h * sizeof(int));
  25.  
  26.   //Lecture de la valeur max
  27.   int max;
  28.   readline(buff,f);
  29.   sscanf(buff, "%d\n", &max);
  30.   this->max = max;
  31.  
  32.   //Lecture des donnees
  33.   for(int i = 0; i < this->getSize(); i++)
  34.     {
  35.       readline(buff,f);
  36.       this->setVal(i, atoi(buff));
  37.     }   
  38.   fclose(f);
  39.   return 1;
  40. }


C'est un bout de code que j'utilise pour faire quelques tests...
A toi de deviner comment sont foutues la classe CImage et l fonction readline.
Attention, c'est pas forcément exempt de tout défaut!C'est juste un exemple qui devrait marcher pas trop mal.
Pour le PPM c'est pareil sauf que tu lis 3 lignes par pixel...
 
[edit]
Attention pour le readline, il peut y avoir des commentaires dans le fichier (par ex. gimp en met systématiquement).
Ils sont identifiés par le caractère # en début de ligne.


 
Ok, c cool, je vais me creuser 1 peu la tete
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed