-, de txmx 2, publié sous licence Creative Commons by-nc-nd 2.0.

TP : Pixel art

La bibliothèque Pillow permet de manipuler, pixel par pixel, des images en Python. Chaque image est considérée comme un tableau, chaque case contenant un triplet de nombres (R, G, B).

Par exemple, l'image ci-dessous représente une image de 3×2 pixels. Deux choses sont à noter sur les coordonnées :

  • les coordonnées commencent à 0 (comme dans les ascenceurs, ce qui est courant en informatique) ;
  • l'axe vertical est gradué de haut en bas (alors qu'habituellement en mathématiques, il est gradué de bas en haut).

Ainsi, la couleur du pixel de coordonnées (2, 1) (en haut à droite) est (236, 25, 32) (rouge).

Le programme Python suivant permet de dessiner le drapeau français de l'exemple ci-dessus.

from PIL import Image

image = Image.new('RGB', (3, 2))

image.putpixel((0, 0), (5, 20, 64))
image.putpixel((0, 1), (5, 20, 64))
image.putpixel((1, 0), (255, 255, 255))
image.putpixel((1, 1), (255, 255, 255))
image.putpixel((2, 0), (236, 25, 32))
image.putpixel((2, 1), (236, 25, 32))

image.save("image.png")

Voici l'explication de chaque ligne :

  • Chargement de la bibliothèques pillow, qui permet à Python de manipuler des images.

    from PIL import Image
    
  • Création d'une nouvelle image, de 3 pixels de large par 2 pixel de haut.

    image = Image.new('RGB', (3, 2))
    
  • Tracé d'un pixel de couleur (5, 20, 64) aux coordonnées (0, 1).

    image.putpixel((0, 1), (5, 20, 64))
    
  • Écriture de l'image dans le fichier image.png.

    image.save("image.png")
    
  1. Reproduire le tableau suivant sur votre compte-rendu, et faites un dessin (une lettre, un smiley, etc.) en coloriant certaines cases. Votre dessin devra être composé d'au moins trois couleurs (en plus du blanc).

  2. Installez la bibliothèque Pillow.

  3. Téléchargez le fichier drapeau-france.py, et renommez-le en dessin-NOM.py (en remplaçant NOM par votre nom de famille).
  4. Ouvrez ce fichier avec le logiciel Thonny, puis exécutez-le.
  5. Ouvrez le dossier qui contient votre fichier .py : un fichier image.png doit avoir été créé. Ouvrez cette image pour observer le drapeau français.
  6. Modifiez le programme pour reproduire votre dessin, pixel par pixel.
  7. Rendez le fichier .py dans le dossier partagé sur le réseau.