Recadrer des images en Python

Le recadrage d’images est une fonctionnalité essentielle dans les applications d’édition d’images et de conception graphique. Il vous permet de redimensionner les images et de couper leurs bords. Lors du traitement d’images ou de l’édition d’images dans des applications Python, les développeurs ont souvent besoin d’un mécanisme de recadrage d’image sans effort. Ainsi, dans cet article de blog, nous apprendrons comment recadrer des images de manière transparente dans une application Python.

Bibliothèque Python pour recadrer les images

Pour le recadrage d’image, nous utiliserons Aspose.Imaging for Python. Il s’agit d’une bibliothèque polyvalente qui offre une gamme de fonctionnalités pour travailler avec des images. En particulier, il vous permet d’effectuer facilement des tâches d’édition d’images de base et avancées.

Vous pouvez soit télécharger la bibliothèque, soit l’installer dans vos applications Python depuis PyPI.

> pip install aspose-imaging-python-net 

Recadrer une image en Python

Il existe deux façons de recadrer une image à l’aide d’Aspose.Imaging for Python : en utilisant des valeurs de décalage et en utilisant un rectangle. Dans la méthode des valeurs de décalage, nous spécifions les valeurs gauche, droite, haut et bas pour le décalage de l’image. En revanche, nous utilisons un rectangle pour définir la zone de recadrage dans la deuxième méthode.

Passons donc en revue chacune des méthodes de recadrage d’images indiquées ci-dessus à l’aide d’extraits de code Python.

Recadrer une image avec des valeurs de décalage en Python

Les étapes ci-dessous montrent comment recadrer une image à l’aide de valeurs de décalage en Python.

  • Tout d’abord, utilisez la méthode Image.load() pour charger l’image en tant que RasterImage.
  • Ensuite, mettez l’image en cache pour de meilleures performances.
  • Spécifiez les valeurs de décalage vers la gauche, la droite, le haut et le bas.
  • Transmettez les valeurs de décalage à la méthode RasterImage.crop() et recadrez l’image.
  • Enfin, enregistrez l’image recadrée à l’aide de la méthode RasterImage.save().

L’extrait de code suivant montre comment recadrer une image en Python.

import aspose.pycore as aspycore
from aspose.imaging import RasterImage, Image, Rectangle
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder

# Charger une image existante dans une instance de la classe RasterImage
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
	# Avant le recadrage, l'image doit être mise en cache pour de meilleures performances
	if not raster_image.is_cached:
		raster_image.cache_data()

	# Définir les valeurs de décalage pour les quatre côtés
	left_shift = 10
	right_shift = 10
	top_shift = 10
	bottom_shift = 10
  
	# En fonction des valeurs de décalage, appliquez le recadrage sur l'image
	raster_image.crop(left_shift, right_shift, top_shift, bottom_shift)
  
  	# Enregistrer l'image recadrée
	raster_image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

Vous trouverez ci-dessous les captures d’écran de l’image d’entrée (première) et de sa version recadrée (deuxième).

recadrer l'image en Python
recadrage d'image en Python

Recadrage d’image avec un rectangle

Dans cette méthode, nous définissons un rectangle pour recadrer une zone particulière de l’image chargée. L’image résultante contient la partie de l’image qui se trouve à l’intérieur de ce rectangle. Voici les étapes pour recadrer une image à l’aide d’un rectangle.

  • Tout d’abord, utilisez la méthode Image.load() pour charger l’image en tant que RasterImage.
  • Ensuite, mettez l’image en cache.
  • Créez un Rectangle de la taille souhaitée.
  • Passez l’objet Rectangle à la méthode RasterImage.crop() et recadrez l’image.
  • Enfin, enregistrez l’image recadrée à l’aide de la méthode RasterImage.save().

L’extrait de code suivant montre le recadrage d’image avec un rectangle en Python.

import aspose.pycore as aspycore
from aspose.imaging import RasterImage, Image, Rectangle
import os

if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder

# Charger une image existante dans une instance de la classe RasterImage
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
	if not raster_image.is_cached:
		raster_image.cache_data()

	# Créez une instance de la classe Rectangle avec la taille souhaitée
	rectangle = Rectangle(20, 20, 20, 20)
  
  	# Recadrer l'image
	raster_image.crop(rectangle)
  
  	# Enregistrer l'image
	raster_image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

Obtenez gratuitement une bibliothèque de recadrage d’images Python

Vous pouvez obtenir une licence temporaire gratuite et recadrer des images sans limitations d’évaluation.

Conclusion

Aspose.Imaging for Python fournit une solution robuste pour le recadrage et la manipulation d’images. Cet article de blog vous a fourni quelques méthodes de recadrage d’images que vous pouvez facilement intégrer dans vos applications Python. Améliorez vos capacités de traitement d’images avec cette puissante API d’édition d’images Python. Explorez ses fonctionnalités étonnantes en visitant la documentation et partagez vos requêtes avec nous via notre forum.

Voir également