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

Programmation multimédia/Jeux Python Discussion :

Insérer une image dans une case d'une grille


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 14
    Points : 4
    Points
    4
    Par défaut Insérer une image dans une case d'une grille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def set_color(button):
        def do_it():
            global bateaux_places
            if bateaux_places>=17:
                 button['bg'] = 'light sky blue'
                 bateaux_places=bateaux_places+1
            else:
                button['bg'] = 'grey'
                bateaux_places=bateaux_places+1
        return do_it
    Bonjour donc voici ma fonction, elle permet d'afficher une couleur dans la grille que j'ai créer. Si le nombre de clic est supérieur a 17 alors cela veut dire que le joueur à placé tout ces bateaux. Il ne cliquera que sur la grille adverse, donc si il clique la ou l'ordinateur n'a pas placer ces bateaux, la case où il aura cliquer sera bleu. A l'inverse si il le nombre de clique est inférieur à 17, alors lorsqu'il cliquera sur la case, elle s'affichera noir pour signifié une partie de chaque bateau. Ma question était de savoir si il est possible de mettre à la place d'une couleur, une image qui s'affichera, mon but étant de mettre un petit icone d'océan pour montrer qu'il a touché la mer ou un icone de bateau. Merci !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par sosodu42 Voir le message
    Ma question était de savoir si il est possible de mettre à la place d'une couleur, une image qui s'affichera, mon but étant de mettre un petit icone d'océan pour montrer qu'il a touché la mer ou un icone de bateau. Merci !
    Si vos images sont GIF ou PNG (Python 3.4+) vous pouvez le faire avec PhotoImage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    button._image = image = PhotoImage(file=....)
    button['image'] = image
    note: button._image sert juste à garder une référence sur l'image qui sinon serait détruite.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    from os import*
     
    def set_color(button):
        def do_it():
            global bateaux_places
            if bateaux_places>=17:
                button._image =image= PhotoImage(file='C:\Users\sofiane\Desktop\mer.jpg')
                button['image'] = image
                bateaux_places=bateaux_places+1
            else:
                button['bg'] = 'grey'
                bateaux_places=bateaux_places+1
        return do_it
    Est-ce ainsi qu'il faut faire car j'ai un message d'erreur("python unicode error unicodeescape codec can't decode bytes in position").

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par sosodu42 Voir le message
    Est-ce ainsi qu'il faut faire car j'ai un message d'erreur("python unicode error unicodeescape codec can't decode bytes in position").
    oui çà ressemble... sauf que si votre image est JPG, il faut utiliser PIL comme le mentionne le lien que je vous ai donné.
    Pour le message d'erreur, vous ne montrez ni le traceback ni le code complet: pas facile de savoir pourquoi çà râle.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    def set_color(button):
        def do_it():
            global bateaux_places
            if bateaux_places>=17:
                image = Image.open("mer.jpg")
                photo = ImageTk.PhotoImage(image)
                button['photo'] = image
                bateaux_places=bateaux_places+1
            else:
                button['bg'] = 'grey'
                bateaux_places=bateaux_places+1
        return do_it
    "
    Traceback (most recent call last):
    File "C:\Program Files (x86)\EduPython\App\lib\tkinter\__init__.py", line 1456, in __call__
    return self.func(*args)
    File "C:\Users\sofiane\OneDrive\Documents\module1.py", line 149, in do_it
    image = Image.open("mer.jpg")
    File "C:\Program Files (x86)\EduPython\App\lib\site-packages\PIL\Image.py", line 1968, in open
    fp = builtins.open(fp, "rb")
    IOError: [Errno 2] No such file or directory: 'mer.jpg'" Voila le message d'erreur que j'ai, j'ai mis la photo (mer.jpg) sur le bureau j'ai importé le module os, j'ai fais comme sur le lien que tu m'as donné mais ça ne fonctionne toujours pas, pourrai tu m'expliquer pourquoi ?

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par sosodu42 Voir le message
    IOError: [Errno 2] No such file or directory: 'mer.jpg'" Voila le message d'erreur que j'ai, j'ai mis la photo (mer.jpg) sur le bureau j'ai importé le module os, j'ai fais comme sur le lien que tu m'as donné mais ça ne fonctionne toujours pas, pourrai tu m'expliquer pourquoi ?
    Le message d'erreur est clair pourtant: il ne trouve pas le fichier dans le répertoire par défaut. Normalement c'est celui à partir duquel vous avez lancé le programme, mais vous pouvez l'afficher via print(os.getcwd()).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [AC-2010] Insérer une image dans un email depuis une table ?
    Par zeubest dans le forum VBA Access
    Réponses: 5
    Dernier message: 14/11/2010, 15h48
  2. Réponses: 2
    Dernier message: 23/05/2010, 12h45
  3. Réponses: 7
    Dernier message: 22/01/2009, 09h39
  4. inserer une image dans le fond d'une shape
    Par cortex59 dans le forum Visio
    Réponses: 26
    Dernier message: 16/07/2008, 09h53
  5. modifier une image dans un axe d'une interface Matlab
    Par sacoux dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 26/03/2008, 17h12

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