Fonction Paste Python Comment Faire Avec Une Image

Salut l'artiste ! As-tu déjà rêvé de coller une image sur une autre en Python ? C'est plus simple qu'il n'y paraît, promis ! On va parler de la fonction paste() de PIL (Pillow, en réalité), la bibliothèque magique pour manipuler les images en Python.
Pourquoi PIL ? Parce que c'est facile à utiliser et super puissant. Allez, on y va !
Préparation du Terrain (Installation de Pillow)
Avant toute chose, il faut installer Pillow. C'est comme préparer le café avant de commencer à peindre, tu vois ? Ouvre ton terminal et tape :
Must Read
pip install pillow
Voilà, Pillow est installé. On peut passer aux choses sérieuses.
Le Code, C'est Pas Sorcier !
Imagine que tu as deux images : une image de fond (disons, "fond.jpg") et une image que tu veux coller dessus (genre, un logo, "logo.png"). Le code ressemblera à ça :

from PIL import Image
# Ouvrir les images
fond = Image.open("fond.jpg")
logo = Image.open("logo.png")
# Redimensionner le logo (si nécessaire)
taille_fond = fond.size
ratio = 0.2 #On règle le ratio de redimensionnement
logo = logo.resize((int(taille_fond[0] * ratio), int(taille_fond[1] * ratio)))
# Définir la position où coller le logo (coin supérieur gauche)
position = (100, 100) # X=100, Y=100
# Coller le logo sur le fond
fond.paste(logo, position, logo) #Le troisième argument est important pour la transparence !
# Sauvegarder l'image modifiée
fond.save("image_avec_logo.jpg")
Et voilà ! Magique, non ?
Décortiquons un Peu ce Code
Regardons de plus près. D'abord, on importe Image de PIL. Logique.
Ensuite, on ouvre nos deux images avec Image.open(). Jusque-là, tout va bien.

On peut également redimensionner le logo. C'est souvent nécessaire, parce qu'un logo trop grand sur une petite image, c'est pas très joli, tu ne trouves pas ? On utilise la méthode resize(), c’est top !
La ligne clé, c'est fond.paste(logo, position, logo). Ici, position indique les coordonnées du coin supérieur gauche où tu veux coller le logo. Si tu veux le mettre au centre, il faudra faire un petit calcul, mais rien d'insurmontable ! Le troisième argument est pour gérer la transparence. Sans lui, les zones transparentes du logo seraient noires. Pas terrible, hein ?

Enfin, fond.save() enregistre l'image modifiée. Simple, efficace.
Et la Transparence, Alors ?
Ah, la transparence ! C'est souvent là que ça coince. Assure-toi que ton image à coller (le logo, par exemple) a un canal alpha (c'est-à-dire, qu'elle supporte la transparence). Les fichiers PNG sont parfaits pour ça. Mais attention, si tu utilises un JPEG, adieu la transparence !
Si tu as des problèmes avec la transparence, vérifie que tu as bien passé le masque (souvent, l'image elle-même) comme troisième argument à la fonction paste(). C'est ce qui lui dit quelles zones sont transparentes.

Quelques Petits Plus...
Tu peux aussi coller des images dans des rectangles spécifiques. Imagine que tu veuilles remplir une zone rectangulaire avec un motif. C'est possible ! Fouille un peu la documentation de Pillow, tu seras surpris de tout ce qu'on peut faire.
Alors, prêt à coller des images et à créer des montages incroyables ? Lance-toi, expérimente, et surtout, amuse-toi ! Il n'y a pas de limites à ta créativité.
Et n’oublie pas, le plus important, c’est de s'amuser en apprenant. Alors, prends ton café, ton code Python, et laisse ta créativité s'exprimer !
