Librairie CImg

Librairie CImg - C++ - Programmation

Marsh Posté le 21-04-2006 à 09:59:53    

Bonjour a tous,  
comme indiqué dans le titre, j'utilise la librairie CImg.
 
Lors de la construction d'un fichier image, j'utilise :

Code :
  1. CImg<unsigned char> image("image.jpg" );
  2. CImgDisplay main_disp(image,"Titre" );


 
Mais dans mon programme, j'écris l'image sur le disque juste avant et je suis obligé de l'ouvrir pour l'afficher.
Ce que je voudrai c'est passer directement une variable, qui contient l'integralité de l'image directement au constructeur.
 
Voila en gros ce que j'ai :
 

Code :
  1. //datajpg lit une image jpg dans une socket et je la stocke dans une string
  2. //writefile ecrit cette image sur le disque
  3. string s;
  4. s=datajpg(idSocket);
  5. writefile(s, fich);
  6. CImg<unsigned char> image(fich);
  7. CImgDisplay main_disp(image,"Titre" );


 
Et voila en tres gros ce que j'aimerai avoir, ce qui me ferai gagné enormement de temps :

Code :
  1. string s;
  2. s=datajpg(idSocket);
  3. CImg<unsigned char> image(s);
  4. CImgDisplay main_disp(image,"Titre" );


Voila, j'auri aimé savoir s'il était possible de passer directement le contenu d'un variable au constructeur et que ce dernier sache bien qu'il s'agit d'une image jpg.
 
Ou alors de pouvoir lui passer ma variable en lui faisant croire qu'il s'agit en fait d'un fichier.
 
D'avance merci !


Message édité par turn3r le 04-05-2006 à 10:47:42

---------------
Les ventes de véhicules neufs ont chuté de 7%, y'en a marre des pirates qui téléchargent illégalement des voitures sur internet !!
Reply

Marsh Posté le 21-04-2006 à 09:59:53   

Reply

Marsh Posté le 04-05-2006 à 09:57:19    

Alors, y'a-t-il quelqu'un pour m'aider svp ?


---------------
Les ventes de véhicules neufs ont chuté de 7%, y'en a marre des pirates qui téléchargent illégalement des voitures sur internet !!
Reply

Marsh Posté le 04-05-2006 à 10:42:19    

- balises code
- soit plus explicite: passer un le contenu d'une variable a quel constructeur ?

Reply

Marsh Posté le 04-05-2006 à 13:21:03    

En regardant la doc, CImg propose uniquement de contruire une image à partir d'un buffer contenant les données non compressées.  
 
Tu pourrais écrire un load_jpeg_from_buffer en regardant comment la fonction load_jpeg est faite !
Dans l'idée, n'ayant jamais manipulé les fonctions de la libjpeg, au lieu d'ouvrir un fichier jpeg via fopen, tu spécifies un buffer via jpeg_mem_src qui correspond à s.c_str()


Message édité par Evadream -jbd- le 04-05-2006 à 13:28:27
Reply

Sujets relatifs:

Leave a Replay

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