Ressources pour les exercices:
Image de la librairie Pillow.Dans les séries d'exercices, il vous sera demandé de concevoir divers programmes. Pour cela, nous vous suggérons de créer un dossier exs sur le Bureau. Pour concevoir ces programmes, nous allons utiliser l'éditeur de code IDLE. En général, on utilisera un fichier par exercice.
Pour exécuter un programme Python sur lequel vous aurez travaillé, utilisez le menu Run > Run Module. Alternativement, vous pouvez utiliser le Terminal. Dans ce cas, il vous faudra d'abord vous déplacer dans le dossier exercices :
cd Desktop/exs/
Ensuite, vous pouvez lancer le programme via la commande :
python3 nom_du_fichier.py
Vous pouvez exécuter cette commande autant de fois que nécessaire sans avoir besoin de changer le dossier courant du terminal, et ce tant que vous gardez la fenêtre de terminal ouverte.
Vous pouvez aussi lancer une session interactive Python avec les définitons entrées dans votre fichier via l'option -i, comme suit :
python3 -i nom_du_fichier.py
Dans cet exercice, le but est de recréer, dans Python, une œuvre d'art abstrait du peintre Piet Mondrian.
L'œuvre qui nous intéresse pour cet exercice est Composition avec jaune et bleu, un tableau de Piet Mondrian daté de 1932.

Commencez par créer une image de taille 54 par 55 de couleur blanche légérement grisée ayant pour valeur (234, 234, 234).
Pour rappel, la méthode Image.new("RGB", dimensions, couleur) permet de créer une nouvelle image étant donné un tuple de dimensions dimensions et une couleur de fond couleur.
Stocker ensuite cette image dans une variable nommée img.
En tout temps, vous pouvez afficher votre image en utilisant la méthode show, c'est-à-dire en appelant img.show().
Dans la librairie que nous utilisons, les couleurs sont représentées sous forme de tuple de trois valeurs. Chaque valeur correspond à l'intensité (entre 0 et 255) d'une couleur primaire:
La couleur noire est représentée par (0, 0, 0), alors que la couleur blanche est représentée par (255, 255, 255). Ici, le fond de l'image est un gris très clair avec pour code couleur (234, 234, 234).
On appel ce système de codage des couleurs le codage RGB (Red-Green-Blue).
Pour trouver le code RGB d'une couleur, on peut faire appel à un sélectionneur de couleur, par exemple celui du site w3schools.com.
Dans cette partie, vous allez tracer les segments de couleur noire dans l'image. Nous vous encourageons fortement à utiliser des boucles afin de faciliter votre travail. De même, nous vous encourageons à définir vos propres fonctions lorsque vous identifiez une série d'instructions qui mériterait d'être nommée et réutilisée.
Tracez, avec la couleur noire :
Attention, pour rappel les coordonnées commencent à (0, 0). Les pixels de la première ligne ont donc pour ordonnée 0, ceux de la deuxième ligne pour ordonnée 1, et ainsi de suite.
Après cette étape, le résultat devrait correspondre à l'image suivante :

Dans cette partie, vous allez remplir les deux zones de couleur du tableau.
Dans un premier temps, remplissez le carré jaune dans le coin supérieur gauche. Le carré est de dimension 23 par 29. Le jaune en question a une intensité de rouge de 246, de vert de 229, et de seulement 28 de bleu.
Dans un second temps, remplissez le carré bleu de dimensions 9 par 13. Le coin supérieur gauche du carré se situe aux coordonnées (45, 30). Le bleu utilisé n'est pas un bleu pur, mais un mélange de rouge à une intensité de 4, de vert à une intensité de 70, et finalement de bleu à une intensité de 156.
Après cette étape, le résultat devrait correspondre à l'image suivante :

L'image sur laquelle vous avez travaillé est relativement petite. Cette petite taille était pratique pour décrire l'image, mais le rendu final n'est pas aussi grand que l'on pourrait espérer.
Pour cette dernière étape, nous allons simplement redimensionner l'image afin de la rendre 10 fois plus grande.
Pour cela, faites appel à la méthode resize sur votre image. La méthode prend deux arguments:
Image.BOX.Attention, la méthode resize ne modifie pas directement l'object sur lequel elle est appelée. À la place, une nouvelle image est retournée de la méthode. Vérifiez donc de bien assigner le résultat de l'appel à la méthode resize à la variable img.
Au final, le résultat attendu est le suivant :

Pour cet exercice, beaucoup moins guidé que le précédent, vous êtes invité à reproduire une œuvre de 1948 du peintre Richard Paul Lohse appelée Twelve Fields with Changing Squares.

Identifiez des patterns qu'il serait intéressant d'abstraire et de réutiliser, puis implémentez-les à l'aide de fonctions.
Nous vous conseillons de travailler sur une taille telle que 1 pixel corresponde à la taille du côté du plus petit carré présent dans l'œuvre. Vous pourrez ensuite redimensionner l'image à votre guise.
Pour trouver le code couleur des différentes images, nous vous suggérons d'utiliser un sélectionneur de couleur en ligne, tel que par exemple celui du site w3schools.com. Certains sélectionneur, comme par exemple celui de imagecolorpicker.com, permettent même de donner une image et d'en trouver les couleurs.
Le but de l'exercice étant de reproduire le plus fidèlement possible le tableau Twelve Fields with Changing Squares.