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.

.

html5 video converter by EasyHtml5Video.com v4.0
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()