Affichage d'une image JPG "sans fichier" [Résolu]

Affichage d'une image JPG "sans fichier" [Résolu] - C - Programmation

Marsh Posté le 17-05-2009 à 23:39:37    

Bonjour,
 
j'ai sauvagement installé OpenWRT sur une neuf box, et j'y ai branché ma webcam. J'accède à ma cam grâce à video 4 linux sans problème (du moins plus maintenant). J'obtiens une image JPG à chaque accès et je l'envoie par réseau à qui veut bien la recevoir. Pour voir ces images je cherche à coder un client simple qui se contente de les afficher.
Comme je connais la SDL j'ai commencé par là. Il est possible de charger des JPG grâce à SDL_Image. Le problème c'est que je n'ai trouvé que des fonctions qui chargent à partir d'un fichier. Or je n'ai pas de fichier, seulement un buffer récupéré par une socket. Ce buffer contient exactement la même chose qu'un fichier JPG.  Pour l'instant étant donné que j'en suis au debuggage du serveur (sur la box) j'ai contourné le problème en créant un fichier avec les données reçues et en le chargeant avec SDL_Image. Cela dit, ça fait quand même mal au coeur de créer un fichier pour le lire à la ligne suivante...  
J'en arrive à ma question. Est-ce que quelqu'un connaîtrait une bibliothèque qui me permettrait d'afficher l'image à partir de mon buffer, sans fichier? Je précise que je cherche une solution portable pour pouvoir accéder à ma cam de n'importe où.
 
merci d'avance.
 
J'ajoute un lien vers le site sans lequel je n'aurais rien pu faire: http://www.neufbox4.org
Voilà ça peut intéresser des gens, sait on jamais.


Message édité par ptitchep le 25-05-2009 à 17:57:38

---------------
deluser --remove-home ptitchep
Reply

Marsh Posté le 17-05-2009 à 23:39:37   

Reply

Marsh Posté le 18-05-2009 à 09:48:30    

je serais toi je créerais quand même un fichier...


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 18-05-2009 à 09:54:30    

DevIL doit avoir ça

Reply

Marsh Posté le 18-05-2009 à 17:42:40    

Merci, je vais aller voir du coté de DevIL.
Je finis mon serveur, je teste DevIL et je reviens donner le résultat
 
edit:
Je pense avoir déjà le résultat en fait:
tutoriel sur le site de DevIL:

Code :
  1. ILubyte *Lump;
  2. ILuint Size;
  3. FILE *File;
  4. File = fopen("monkey.tga", "rb";);
  5. fseek(File, 0, SEEK_END);
  6. Size = ftell(File);
  7. Lump = (ILubyte*)malloc(Size);
  8. fseek(File, 0, SEEK_SET);
  9. fread(Lump, 1, Size, File);
  10. fclose(File);
  11. ilLoadL(IL_TGA, Lump, Size);
  12. free(Lump);


 
Merci beaucoup.


Message édité par ptitchep le 18-05-2009 à 17:47:13

---------------
deluser --remove-home ptitchep
Reply

Marsh Posté le 18-05-2009 à 17:52:04    

sinon, en restant avec SDL, il y a des RWops, qui ont l'air d'être précisément ce que tu veux : http://www.libsdl.org/cgi/docwiki.cgi/SDL_RWFromMem et http://jcatki.no-ip.org:8080/SDL_i [...] html#SEC16
 
Edit : deuxième lien plus précis


Message édité par theshockwave le 18-05-2009 à 17:55:47

---------------
last.fm
Reply

Marsh Posté le 18-05-2009 à 17:57:29    

J'étais tombé sur SDL_RWops pendant mes recherches mais je n'avais pas trouvé SDL_RWFromMem. Ce qui est bizarre c'est que je n'ai rien sur SDL_RW dans ma doc SDL.
Effectivement avec cette fonction en plus, c'est peut-être une solution plus simple que d'apprendre une nouvelle bibliothèque. Comme je suis curieux, je vais peut-être regarder les deux.
Merci

 

edit: aucun problème avec SDL_RWFromMem. :) Je n'ai pas encore eu le temps de tester DevIL, je note quand même Résolu.


Message édité par ptitchep le 25-05-2009 à 17:57:19

---------------
deluser --remove-home ptitchep
Reply

Sujets relatifs:

Leave a Replay

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