1. Mise en place
- créer un dossier « TP_note » dans votre dossier personnel de SNT « Images_numeriques »,
- ouvrir Thonny et copier-coller le code ci-dessous,
- enregistrer votre programme en le nommant « TP_Mondrian »,dans votre dossier « TP_note »,
- exécuter votre programme.
from PIL import Image # on importe la classe Image et ses méthodes de la
# bibliothèque Pillow alias PIL
couleur=(255,255,255)
bord=3
image=Image.new('RGB',(600,400) , color=couleur)
def taille():
return image.size
def lire_pixel(x,y):
return image.getpixel((x,y))
def changer_pixel(x,y,r,v,b):
image.putpixel((x,y),(r,v,b))
return image
def afficher():
image.show()
def rectangle(x_debut,y_debut,x_fin,y_fin):
global image
(l, h) = taille()
for y in range(y_debut,y_fin):
for x in range(x_debut,x_fin):
image=changer_pixel(x,y,0,0,0)
for y in range(y_debut+bord,y_fin-bord):
for x in range(x_debut+bord,x_fin-bord):
image=changer_pixel(x,y,couleur[0],couleur[1],couleur[2])
afficher()
def effacer():
(l,h)=taille()
for y in range(0,h-1):
for x in range(0,l-1):
image=changer_pixel(x,y,255,255,255)
def enregistrer():
image.save("mon_image.bmp")
image.save("mon_image.jpg")
image.save("mon_image.png")
2. Découverte des commandes.
Après avoir exécuter votre programme, tester les commandes suivantes.
>>> taille()
>>> afficher()
>>> couleur
>>> couleur=(100,100,100)
>>> rectangle(0,0,200,100)
>>> couleur=(150,150,150)
>>> rectangle(300,300,600,400)
>>> effacer()
>>> afficher()
>>> couleur=(100,100,100)
>>> rectangle(100,100,200,300)
3. Travaux pratiques.
En utilisant les commandes précédentes et en vous inspirant de la photo de l’oeuvre de Mondrian qui illustre cet article, créer 10 rectangles. Les rectangles ne doivent pas être superposés.
Il devra y avoir 2 rectangles rouges, 2 rectangles blancs, 2 rectangles bleus, 2 rectangles jaunes et 2 rectangles noirs.
Vous enregistrerez votre production à l’aide de la commande :
>>> enregistrer()
4. Poids des images.
Comparez la taille occupée en mémoire par les 3 images qui figurent dans votre dossier.
Pourquoi n’ont-elles pas le même poids ? Quelle est l’image la plus légère ? Pourquoi ?