ISN TP 9 : « Gérer des images en Python

Transcription

ISN TP 9 : « Gérer des images en Python
Nom :
Classe :
ISN TP 9 : « Gérer des images en Python … »
04/12/2015
Le module Tkinter dispose d’un widget nommé Canvas destiné à dessiner dans une fenêtre.
1) Le widget Canvas
Pour créer un Canvas nommé canevas, on fait comme pour les autres widget
On peut ajouter des options bg pour la couleur du fond, height et width précisant respectivement la hauteur et
la largeur.
2) Dessiner sur un Canvas
a) Une ligne
Les deux premières coordonnées sont celles du premier point, les deux suivantes celles du deuxième.
Les coordonnées sont relatives au Canvas pas à celles de l’écran.
Le paramètre fill permet d’indiquer la couleur
On peut aussi préciser l’épaisseur avec le paramètre width
b) Un rectangle
Les deux premières coordonnées sont celles du sommet en haut à gauche, les deux suivantes celles du sommet
en bas à droite.
Le paramètre ouline permet d’indiquer la couleur du bord et fill celle du fond.
c) Une ellipse ou un cercle
Permet de dessiner une ellipse (ou un cercle) dans un rectangle (ou un carré) imaginaire qui possède les mêmes
options que create_rectangle.
d) Afficher du texte
On peut préciser :
la couleur du text avec la paramètre fill
la police utilisée et la taille avec font par exemple
la position du texte avec anchor. Par défaut il est centré autour du point précisé.
Exercice 1 :
Réaliser un programme affichant simplement cet écran :
3) Placer des images sur un Canvas
Il existe différents formats d’images.
Le module Tkinter travaille très bien avec les images au format GIF (non animées).
Ce sont des images en 256 couleurs.
Pour placer une image :
On charge d’abord l’image dans une variable globale (ici fichierimage) avec :
Evidemment il faut avant copier sur le répertoire de travail le fichier lune.gif
On place l’image au point de coordoonées x y sur le canevas
Exercice 2 :
Ajouter un père Noël sur l’image avec les boules de neige.
Vous pouvez récupérer mon fichier « PereNoel.gif » ou en récupérer un sur internet.
4) Modifier des items en cours de programme
Diverses méthodes sur le widget Canvas permettent de modifier les propriétés des items placées
Canevas.delete(item)
Efface l’item du canevas
Canevas.delete(ALL)
Efface tout ce qui se trouve sur le canavas
Canevas.coords(item,x,y) ou Canevas.coords(item,x1,y1,x2,y2)
Modifie les coordonnées de l’item
Canevas.itemconfig(item,options)
Modifie une ou plusieurs options de l’item
Canevas.itemcget(item,prop)
C’est une fonction qui renvoi la valeur de la propriété prop de l’item
Par exemple
Exercice 3 :
Dans le programme bataille de boules de neige, ajoutez un bouton qui, quand on clique dessus fait glisser le père Noël
de la gauche vers la droite.
Exercice 4 :
Créer un programme qui ouvre une fenêtre avec une coccinelle et quatre boutons qui permettent de la déplacer dans les
quatre directions. Selon le déplacement de la coccinelle, l’image sera modifiée pour que la coccinelle regarde toujours
devant elle.
Vous pouvez récupérer coccinelleH.gif, coccinelleD.gif, coccinelleB.gif et coccinelleG.gif ou les fabriquer à votre
guise à partir d’une image récupérée sur internet (format GIF et taille 100x100).
5) Profondeur des objets
Comme vous avez pu le remarqué, les objets images se superposent dans l’ordre dans lequel ils ont été créés. On
peut modifier cet ordre grâce à deux méthodes :
Canevas.tag_raise(objet) permet de placer l’objet au premier plan.
Canevas.tag_lower(objet) permet de placer l’objet en arrière plan.

Documents pareils