1. Rogner des images
Qu'est-ce que le rognage et comment l'utiliser
Bon, commençons à comprendre comment rogner et pivoter des images. Cette compétence te sera utile dans divers projets — de la préparation de graphismes pour les sites web à la création de contenu pour les réseaux sociaux.
Rogner une image, c'est un peu comme couper les bords inutiles d'une photo pour se concentrer sur l'objet principal. Imagine que tu as une superbe photo de coucher de soleil, mais que des curieux se sont glissés sur les côtés. Le rognage te permettra de les retirer (virtuellement évidemment) sans procès ni condamnation !
Méthode crop()
La méthode crop()
prend les coordonnées d'une zone rectangulaire que tu veux
découper de l'image. Les coordonnées sont spécifiées sous la forme de quatre valeurs :
(gauche, haut, droite, bas)
.
# Rogner une image
cropped_image = image.crop((100, 100, 400, 400))
# Sauvegarder l'image rognée
cropped_image.save("cropped_example.jpg")
Dans cet exemple, l'image sera rognée à une zone avec le coin supérieur gauche en
(100, 100)
et le coin inférieur droit en (400, 400)
. Cette
méthode crée une nouvelle image à partir de la partie spécifiée de l'image d'origine.
Rogner dynamiquement en fonction des dimensions de l'image
Si tu veux rogner une image au centre, tu peux calculer les coordonnées de rognage en fonction de ses dimensions :
width, height = image.size
left = (width - 200) / 2
top = (height - 200) / 2
right = (width + 200) / 2
bottom = (height + 200) / 2
center_cropped_image = image.crop((left, top, right, bottom))
center_cropped_image.save("center_cropped_example.jpg")
Ce code rogne la partie centrale de l'image mesurant 200x200 pixels. Le calcul des coordonnées garantit que la zone rognée sera située au centre de l'image.
2. Pivoter une image
Pivoter une image te permet de changer son orientation, ce qui est particulièrement utile si la photo a été prise avec la mauvaise orientation ou si un effet artistique est requis.
Méthode rotate()
La méthode rotate()
pivote l'image d'un angle spécifié dans le sens antihoraire.
L'angle est donné en degrés, et la méthode crée une nouvelle image pivotée.
# Pivoter une image de 90 degrés dans le sens antihoraire
rotated_image = image.rotate(90)
rotated_image.save("rotated_90_example.jpg")
Dans cet exemple, l'image sera pivotée de 90 degrés dans le sens antihoraire. On peut également spécifier un autre angle de rotation (par exemple, 45, 180, ou 270 degrés) pour obtenir le résultat souhaité.
Gérer les bords blancs lors de la rotation
Par défaut, rotate()
ajoute des bords blancs (ou transparents, si le mode
RGBA est utilisé) sur les côtés de l'image pour conserver tout son contenu. Si tu veux
que l'image remplisse tout le cadre sans bords, utilise le paramètre
expand=True
.
# Pivot avec expansion pour remplir tout le cadre
rotated_expanded_image = image.rotate(45, expand=True)
rotated_expanded_image.save("rotated_expanded_example.jpg")
Dans ce cas, Pillow augmentera les dimensions de l'image pour contenir tout son contenu, ce qui est utile pour les rotations à des angles non standard (par exemple, 45 degrés).
3. Effet miroir sur une image
L'effet miroir permet de retourner une image horizontalement ou verticalement. C'est pratique lorsque tu veux changer la direction d'un objet dans une photo ou créer un effet symétrique.
Méthode transpose()
La méthode transpose()
est utilisée pour les effets miroir et prend en charge
les paramètres suivants :
Image.FLIP_LEFT_RIGHT
: Effet miroir horizontal.Image.FLIP_TOP_BOTTOM
: Effet miroir vertical.
# Effet miroir horizontal
flipped_horizontal = image.transpose(Image.FLIP_LEFT_RIGHT)
flipped_horizontal.save("flipped_horizontal_example.jpg")
# Effet miroir vertical
flipped_vertical = image.transpose(Image.FLIP_TOP_BOTTOM)
flipped_vertical.save("flipped_vertical_example.jpg")
Ces commandes retournent l'image horizontalement et verticalement, ce qui peut être utilisé pour divers effets ou pour corriger l'orientation.
Exemples pratiques d'utilisation du rognage, pivot et effet miroir
- Se concentrer sur une zone spécifique de l'image : Le rognage te permet de mettre en avant la partie de l'image souhaitée, ce qui est utile pour créer des portraits, enlever des détails inutiles et préparer des images pour les réseaux sociaux ou les sites web.
- Corriger l'orientation de l'image : La rotation est utilisée pour corriger l'orientation de la photo, surtout si l'appareil l'a prise dans la mauvaise position. Par exemple, corriger une image capturée en mode paysage pour la publier en mode portrait.
- Créer des effets symétriques : L'effet miroir est souvent utilisé en design pour créer des images symétriques, des effets visuels intéressants et améliorer la composition.
4. Erreurs courantes et comment les éviter
En travaillant avec Pillow, certaines erreurs peuvent survenir, auxquelles un débutant peut être confronté. L'une de ces erreurs est de tenter de rogner une image en dehors de ses dimensions réelles. Vérifie toujours la taille de l'image et spécifie des coordonnées de rognage à l'intérieur de ces dimensions.
Un autre point à noter : lors de la rotation, l'image peut sembler rognée si
tu utilises la méthode `rotate` sans réglages supplémentaires. Cela se produit en raison
du changement de taille de l'image lors de la rotation. Pour éviter cela, utilise
le paramètre expand=True
, qui ajuste automatiquement les dimensions :
# Pivoter une image de 45 degrés avec expansion pour éviter de rogner les coins
rotated_image = image.rotate(45, expand=True)
rotated_image.save("rotated_expanded.jpg")
GO TO FULL VERSION