Vidéos
Objectif du tutoriel :
C’est obtenir une application qui utilise un nouveau code pour le module image :
- Une fenêtre.
- Un canevas.
- Créer des graphiques, du texte, des composants graphiques.
- Créer le module image. Pour introduire les boucles, les listes, les booléens et rendre le profil de la vidéo de façon originale.
- image.py est un module qui permet de stocker des images en utilisant les boucles et les listes.
.
.
module image :
image.py |
---|
#image.py #module pour les images #Fabrique une liste d'images from tkinter import * from os import* from PIL import Image,ImageTk
def liste_image(dossier): # Fonction qui permet de creer un liste qui # comporte un nombre de photos items=[] dossierg=getcwd() listes=listdir(dossierg+chr(92)+dossier+chr(92)) for i in range(len(listes)): # le symbole / permet d'aller #chercher les images # dans le dossier images/ nom=dossierg+chr(92)+dossier+chr(92)+listes[i] p1=ImageTk.PhotoImage(file=nom) items.append(p1) return items
def taille_photo(i,dossier): #Détermine la taille de la photo #Fabrique une liste qui permet de récupérer des images # qui ont des formats différents (png, jpg,...) dossierg=getcwd() ik=Image.open(dossier+chr(92)+str(0)+str(i)+".png") largeur=ik.size[0] hauteur=ik.size[1] return largeur,hauteur |
.
Téléchargement
Télécharger les dossiers fond et images
Appuyer pour téléchargement
.
.
Oiseaux.py
oiseau.py |
---|
from tkinter import * from image import* from os import* from PIL import Image,ImageTk def eparpille(fenetre,can,oiseaux,ois,largeur,hauteur,p,k): """ mouvement des oiseaux """ p,k=p-10,k-10 if p<0: p=largeur if k<0:k=largeur for i in range(len(ois)): l,h=can.coords(ois[i]) l=l-10 if l<0:l=largeur im=oiseaux[int(p+1+i)%28] can.itemconfigure(ois[i],image=im) f1=hauteur/3+10*i can.coords(ois[i],l,h) fenetre.after(50,lambda:eparpille(fenetre,can,oiseaux,ois,largeur,hauteur,p,k)) fenetre=Tk() oiseaux=liste_image("images") fond=liste_image("fond") largeur,hauteur=taille_photo(1,"fond") p,k=largeur,int(largeur/2) can=Canvas(fenetre,width=largeur,height=hauteur,bg='light blue') can.grid(row=0,column=0) fenetre.resizable(0,0) img=fond[1] fond1=can.create_image(largeur/2,hauteur/2,image=img) ois=[] p=largeur/2 h=hauteur/2 h1=hauteur/3 im1=oiseaux[5] ois.append(can.create_image(p,h,image=im1)) ois.append(can.create_image(p/2,h,image=im1)) ois.append(can.create_image(p/3,h1+200,image=im1)) ois.append(can.create_image(0,h1-120,image=im1)) ois.append(can.create_image(p/2,h+200,image=im1)) ois.append(can.create_image(1000,h-100,image=im1)) eparpille(fenetre,can,oiseaux,ois,largeur,hauteur,p,k) fenetre.mainloop() |