IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ Discussion :

GtkImage JPEG en mémoire


Sujet :

GTK+

  1. #1
    Membre régulier Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Points : 83
    Points
    83
    Par défaut GtkImage JPEG en mémoire
    Bonjour,

    J'aimerais pouvoir afficher une image jpeg qui se trouve déjà en mémoire, elle n'existe pas sur le disque dur donc je ne peux pas utiliser les fonctions de création de GtkImage.
    En fait l'image provient d'une caméra et je dois afficher le flux en continu par conséquent je ne peux pas non plus enregistrer chaque image pour ensuite la charger avec GtkImage et l'afficher, ça prendrait beaucoup trop de temps.

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    Tu peux utiliser gdk_image_new_from_data et créer une GtkImage avec le GdkPixbuf résultant.

  3. #3
    Membre régulier Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Points : 83
    Points
    83
    Par défaut
    Je veux bien, mais je ne trouve pas la fonction dont tu me parles dans l'API de GDK ni même avec Google
    http://developer.gnome.org/doc/API/2...dk-Images.html

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    Bah oui, je voulais dire gdk_pixbuf_new_from_data , c'était limpide non ?


    Désolé de la faute de frappe

  5. #5
    Membre régulier Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Points : 83
    Points
    83
    Par défaut
    lol, oui c'est mieux, merci.
    Je l'ai trouvé avec Google, mais pas dans l'API de GDK c'est normal ??

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    http://developer.gnome.org/doc/API/2...-creating.html <= c'est là (dans l'API des GdkPixbuf, pas celle de Gdk, c'est peut être pour ça que tu l'as pas trouvée).

  7. #7
    Membre régulier Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Points : 83
    Points
    83
    Par défaut
    Effectivement, mon erreur venait de là. Je vais regarder ça, mais c'est pas gagné car je n'y connais rien en GDK
    En tout cas merci j'ai au moins un point de départ maintenant !

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 27
    Points : 27
    Points
    27
    Par défaut
    sinon si tu veux capturer des images provenant d'une camera en utilisant v4l
    tu devrais peut etre regarder du cote de videodog , je l'avais utiliser il ya qq temps
    mais avec sdl . mais si je me souviens bien , dans videodog il ya un exemple pour l'utiliser avec gtk .


    http://paginas.terra.com.br/informat.../videodog.html

  9. #9
    Membre régulier Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Points : 83
    Points
    83
    Par défaut
    J'ai essayé avec gdk_pixbuf_new_from_data et j'arrive à afficher l'image mais seulement après l'avoir décodée en rgb. Comment faire pour la lire directement au format jpeg ? Merci

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    J'ai pas compris ta question. Pourquoi est-ce que le RGB ne te convient pas (un GdkPixbuf contient forcément une image non compressée stockée en RGB), et qu'est ce que tu veux faire avec "ton image au format jpeg" ?

  11. #11
    Membre régulier Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Points : 83
    Points
    83
    Par défaut
    En fait, j'ai un flux d'images au format JPEG venant de ma webcam (v4l2) et je cherche à les afficher (avec Gtk/Gdk). Pour l'instant j'ai un algo qui décompresse l'image et la met en RGB mais j'aimerais éviter ce traitement.

  12. #12
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    Ah, tu veux savoir comment obtenir un GdkPixbuf à partir de tes données jpeg en mémoire sans faire la décompression toi même ? Si oui, tu peux faire ça avec un GdkPixbufLoader même si la doc dit que ça sert pas exactement à ça
    Ca ressemblerait à ça du code pour charger ton jpeg en mémoire je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    loader = gdk_pixbuf_loader_new ();
    gdk_pixbuf_loader_write (loader, jpeg_data, jpeg_size, NULL);
    /* tester la valeur de retour de gdk_pixbuf_loader_write */
    pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
    g_object_ref (G_OBJECT (pixbuf)); // pas 100% certain que ca soit indispensable
    return pixbuf;

  13. #13
    Membre régulier Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Points : 83
    Points
    83
    Par défaut
    Impeccable ! Merci !

  14. #14
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    A la réflexion, je ferais qques ajustements à ce code, j'ajouterais un gdk_pixbuf_loader_close (loader) avant le get_pixbuf(), et à la fin je ferais un g_object_unref (G_OBJECT (loader));
    Sans ça, ça risque de leaker un peu de mémoire.

  15. #15
    Membre régulier Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Points : 83
    Points
    83
    Par défaut
    Oui, je n'ai rien dis mais je m'en étais rendu compte et je l'avais déjà mis dans mon code Merci

  16. #16
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    Vaut mieux l'indiquer dans ces cas là, comme ça si qqu'un repasse sur le forum avec le même problème, il a directement la bonne solution

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher un JPEG déjà chargé en mémoire
    Par genetin dans le forum C
    Réponses: 1
    Dernier message: 18/07/2008, 21h47
  2. fichier mappé en mémoire
    Par WinBernardo dans le forum Delphi
    Réponses: 7
    Dernier message: 01/12/2006, 09h38
  3. Affichage d'un JPEG, déjà en mémoire.
    Par jcs2 dans le forum Langage
    Réponses: 2
    Dernier message: 19/02/2006, 15h48
  4. Réponses: 5
    Dernier message: 20/08/2002, 18h01
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo