Maison >développement back-end >Tutoriel Python >Comment puis-je redimensionner une image tout en préservant son rapport hauteur/largeur à l'aide de PIL ?

Comment puis-je redimensionner une image tout en préservant son rapport hauteur/largeur à l'aide de PIL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-08 19:57:11660parcourir

How Can I Resize an Image While Preserving its Aspect Ratio Using PIL?

Redimensionnement des images avec préservation des proportions à l'aide de PIL

Le maintien des proportions d'une image pendant le redimensionnement est crucial pour préserver son intégrité visuelle. La Python Imaging Library (PIL) offre une solution pratique pour cette tâche.

Problème :

"Puis-je redimensionner une image tout en conservant ses proportions ?"

Réponse :

  1. Définir une taille maximale souhaitée (largeur et hauteur).
  2. Calculez le rapport de redimensionnement :

    ratio = min(max_width / width, max_height / height)
  3. La nouvelle taille de l'image devient :

    new_size = old_size * ratio
  4. Pour plus de commodité, PIL fournit la méthode Image.thumbnail() :
from PIL import Image

size = 128, 128
im = Image.open("image.jpg")
im.thumbnail(size, Image.Resampling.LANCZOS)
im.save("image.thumbnail.jpg", "JPEG")

Dans Dans cet exemple, l'image est redimensionnée à une largeur et une hauteur maximales de 128 pixels, tout en préservant son rapport hauteur/largeur d'origine. L'option Image.Resampling.LANCZOS permet un rééchantillonnage de haute qualité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn