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+ avec C & C++ Discussion :

[GTK+] problème d'affichage d'images JPEG


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de suzan_
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 87
    Par défaut [GTK+] problème d'affichage d'images JPEG
    Bonjour,

    J'ai créé un petit programme qui marche très bien avec une interface GTK+. J'utilise un certain nombre d'images JPEG. Sur mon ordinateur tout marche très bien mais quand j'exporte le code sur un autre ordinateur, d'abord les fenètres sont moins jolies et mes images JPEG n'apparaissent plus (à la place j'ai une croix rouge...).

    Je ne comprends pas pourquoi, j'ai tout compilé en mode Release, je crois avoir mis toutes les dll et mes images sont bien présentes sur l'autre ordinateur. Je précise que l'autre ordinateur est identique au mien avec Windows XP Pro sur les deux...

    De quoi cela peut-il venir?

    Merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Les croix rouges signifient que ton programme n'a pas réussi à trouver les images. Utilise le paramètre "GError *error" lors du chargement de ton image, il contient un message compréhensible te disant pourquoi le chargement a échoué. Tu y verras le chemin de l'image, qui ne correspond sans doute pas à celui où se trouvent réellement les images sur ton poste cible. Et en nous montrant un peu de code, ce sera plus clair.

  3. #3
    Membre confirmé Avatar de suzan_
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 87
    Par défaut
    Merci je vais essayer avec Gerror.
    Mais je répète qu'encore une fois ça marche bien sur mon ordinateur c'est lorsque j'essaie d'exporter l'executable sur un autre ordi qu'il ne me prend pas les images.

    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
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
    int main(int argc, char **argv)
    {
        GtkWidget *pWindow;
        GtkWidget *pVBox;
        GtkWidget *pImage;
        GtkWidget *pQuitImage;
        GtkWidget *pQuitBtn;
     
        gtk_init(&argc, &argv);
     
        pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200);
        gtk_window_set_title(GTK_WINDOW(pWindow), "GtkImage");
        g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
     
        pVBox = gtk_vbox_new(FALSE, 0);
        gtk_container_add(GTK_CONTAINER(pWindow), pVBox);
     
     
        pImage = gtk_image_new_from_file("monimage.jpg");
        gtk_box_pack_start(GTK_BOX(pVBox), pImage, FALSE, FALSE, 5);
     
        pQuitBtn = gtk_button_new();
        gtk_box_pack_start(GTK_BOX(pVBox), pQuitBtn, TRUE, FALSE, 5);
        g_signal_connect(G_OBJECT(pQuitBtn), "clicked", G_CALLBACK(gtk_main_quit), NULL);
     
     
    gtk_widget_show_all(pWindow);
     
        gtk_main();
     
        return EXIT_SUCCESS;
    }
    Je confirme bien que "monimage.jpg" se trouve dans le même dossier que mon exécutable.Je pense que ca doit plutôt venir d'une bibliothèque ou un truc comme ça...

    Ou est ce que je dois mettre Gerror?

    Merci de ton aide

  4. #4
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut
    Salut,

    Comme dit la doc de gtk_image_new_from_file, il faut que tu utilises gdk_pixbuf_new_from_file et gtk_image_new_from_pixbuf pour detecter les erreurs.
    En passant un GError en parametre à gdk_pixbuf_new_from_file

  5. #5
    Membre confirmé Avatar de suzan_
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 87
    Par défaut
    Merci de m'aider

    Alors j'ai un peu avancé , j'ai mis le Gerror dans mon code comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	pixbuf=gdk_pixbuf_new_from_file ("image1.jpg",&erreur);
    	if(!pixbuf){
    	printf("test file load failure, error message: %s\n", erreur->message);
    	}
    	pImage=gtk_image_new_from_pixbuf(pixbuf);
    Ca marche bien maintenant j'ai la cause de mon erreur : la console me dit ::

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error message : Couldn't recognisze the image file format for file 'image1.jpg'


    En même temps je l'avais bien vu qu'il le reconnaissait pas
    Est ce que vous avez une idée de pourquoi il reconnait pas le format JPEG?

    Je vais essayer ce que tu propose artificier59 pour avoir un meilleur aspect des fenêtres.

  6. #6
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    As-tu essayé d'écrire le chemin complet de ton image plutôt que juste son nom?

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

Discussions similaires

  1. Problème d'affichage d'image...
    Par fabreizhad dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 21/03/2006, 12h43
  2. problème d'affichage d'image avec mozilla
    Par lyon31 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/03/2006, 16h27
  3. Problème d'affichage d'image
    Par AurelBUD dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/09/2005, 11h56
  4. [SGBD] affichage d'image jpeg depuis une base mysql
    Par eric_300 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/09/2005, 12h27
  5. CSS Probléme d'affichage d'images
    Par tebonb dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 01/06/2005, 18h35

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