Problème avec mon programme avec un Canvas
Emile315
-
critou -
critou -
Bonjour, je suis un élève de Terminale et je dois réaliser un projet en ISN. Mon projet porte sur un jeu de loto, voici mon programme :
for n in range(1):
Im = Image.open(File)
Choice = choice(Liste2)
k = Liste1[Choice][0]
l = Liste1[Choice][1]
Get = Im.getpixel(Liste1[Choice])
#Gris
if Get==(100,100,100):
for i in range(50):
for j in range(50):
Im.putpixel((k+i,l+j),(75,75,75))
#Rouge
elif Get==(255,25,25):
for i in range(50):
for j in range(50):
Im.putpixel((k+i,l+j),(230,0,0))
#Bleu
elif Get==(50,100,255):
for i in range(50):
for j in range(50):
Im.putpixel((k+i,l+j),(25,75,230))
#Jaune
else:
for i in range(50):
for j in range(50):
Im.putpixel((k+i,l+j),(200,200,0))
Im.show()
Cependant quand j'essaie d'insérer le tout dans un Canvas et d'affecter ce programme à un bouton, le programme ne marche plus et je reçois comme erreur :
Im = Image.open(File)
AttributeError: 'PhotoImage' object has no attribute 'open'
Sauriez-vous m'éclairez s'il vous plait ? Merci
for n in range(1):
Im = Image.open(File)
Choice = choice(Liste2)
k = Liste1[Choice][0]
l = Liste1[Choice][1]
Get = Im.getpixel(Liste1[Choice])
#Gris
if Get==(100,100,100):
for i in range(50):
for j in range(50):
Im.putpixel((k+i,l+j),(75,75,75))
#Rouge
elif Get==(255,25,25):
for i in range(50):
for j in range(50):
Im.putpixel((k+i,l+j),(230,0,0))
#Bleu
elif Get==(50,100,255):
for i in range(50):
for j in range(50):
Im.putpixel((k+i,l+j),(25,75,230))
#Jaune
else:
for i in range(50):
for j in range(50):
Im.putpixel((k+i,l+j),(200,200,0))
Im.show()
Cependant quand j'essaie d'insérer le tout dans un Canvas et d'affecter ce programme à un bouton, le programme ne marche plus et je reçois comme erreur :
Im = Image.open(File)
AttributeError: 'PhotoImage' object has no attribute 'open'
Sauriez-vous m'éclairez s'il vous plait ? Merci
A voir également:
- Problème avec mon programme avec un Canvas
- Programme demarrage windows - Guide
- Canvas gratuit - Télécharger - Divers Photo & Graphisme
- Mettre en veille un programme - Guide
- Forcer la fermeture d'un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
1 réponse
Bonjour.
Sans précisions supplémentaires, difficile de te venir en aide, car le code que tu montres ne dis pas comment est déclaré Image.
Le code que tu as exposé est une répétition d'instruction qui pourrait être évitée en utilisant une boucle et un tuple.
Ps: Merci d'avance d'utiliser les balises codes du forum lorsque tu postes du code.
Sans précisions supplémentaires, difficile de te venir en aide, car le code que tu montres ne dis pas comment est déclaré Image.
Le code que tu as exposé est une répétition d'instruction qui pourrait être évitée en utilisant une boucle et un tuple.
Ps: Merci d'avance d'utiliser les balises codes du forum lorsque tu postes du code.