Compresser des images en Python

La compression d’image est une méthode couramment utilisée qui réduit la taille de fichier des images tout en préservant leur qualité visuelle. En supprimant les données redondantes ou inutiles, les techniques de compression d’image permettent des téléchargements plus rapides, des besoins de stockage réduits et une meilleure utilisation de la bande passante. Lors du traitement d’images par programmation, vous devez souvent réduire leur taille. Ainsi, dans cet article, vous apprendrez à compresser facilement des images dans une application Python.

Bibliothèque de compression d’images Python

Pour compresser des images en Python, nous utiliserons Aspose.Imaging for Python. Il s’agit d’une puissante bibliothèque de traitement d’images offrant une gamme de fonctionnalités pour traiter et manipuler des images à partir de vos applications Python. Vous pouvez soit télécharger la bibliothèque, soit l’installer à l’aide de la commande suivante.

> pip install aspose-imaging-python-net 

Compresser une image en Python

Pour compresser une image, vous pouvez définir la valeur du niveau de compression de 0 à 9. La valeur 9 représente la compression maximale et 0 est le mode de stockage. Voici les étapes pour compresser une image PNG en Python.

  • Tout d’abord, chargez l’image à l’aide de la classe Image.
  • Ensuite, créez un objet de la classe PngOptions.
  • Après cela, définissez le niveau de compression à l’aide de la propriété PngOptions.compressionlevel.
  • Enfin, enregistrez l’image compressée à l’aide de la méthode Image.save(String, PngOptions).

L’exemple de code suivant montre comment compresser une image en Python.

from aspose.imaging.fileformats.png import PngColorType
from aspose.imaging.imageoptions import PngOptions
from aspose.imaging import ColorPaletteHelper, Image
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


def compress_png():
  	# Chemins des fichiers d'entrée et de sortie
	input_file = os.path.join(templates_folder, "template.png")
	output_file = os.path.join(templates_folder, "compressed_png.png")
  
  	# Charger l'image
	with Image.load(input_file) as image:
		obj_init = PngOptions()
    
    		# Définir le niveau de compression
		obj_init.compression_level = 9
		obj_init.progressive = True
		obj_init.color_type = PngColorType.INDEXED_COLOR
		obj_init.palette = ColorPaletteHelper.get_close_image_palette(image, 1 << 5)
    
    		# Enregistrer l'image compressée
		image.save(output_file, obj_init)

	if delete_output:
		os.remove(output_file)

Pour compresser des images d’autres formats, nous utiliserons la classe ImageOption respective. Par exemple, pour compresser les images JPG, nous utiliserons JpegOptions et pour les images Tiff, nous utiliserons TiffOptions classe.

Obtenez une bibliothèque de compression d’images gratuite

Vous pouvez obtenir une licence temporaire gratuite et compresser des images dans vos applications Python sans aucune limitation d’évaluation.

Compresser des images en ligne

Nous avons également créé un outil Web, compresseur d’images gratuit, pour compresser les images en ligne. Vous pouvez utiliser cet outil pour compresser autant d’images que vous le souhaitez sans créer de compte.

Conclusion

Cet article vous a fourni une solution efficace pour compresser des images en Python. À l’aide d’étapes et d’un exemple de code, vous avez appris à compresser une image sans effort. De plus, nous vous avons présenté un outil de compression d’images en ligne gratuit, basé sur Aspose.Imaging for Python. Vous pouvez utiliser l’outil de n’importe où sans créer de compte.

Vous pouvez en savoir plus sur notre bibliothèque de traitement d’image Python en utilisant documentation. Vous pouvez également partager vos commentaires avec nous via notre forum.

Voir également