Maison > développement back-end > Tutoriel Python > Comment redimensionner des images avec PIL tout en conservant les proportions ?

Comment redimensionner des images avec PIL tout en conservant les proportions ?

Susan Sarandon
Libérer: 2024-12-11 08:26:09
original
789 Les gens l'ont consulté

How to Resize Images with PIL While Maintaining Aspect Ratio?

Redimensionner les images avec PIL tout en préservant les proportions

Lors de la création de vignettes, il peut être crucial de conserver les proportions d'origine des images. Dans cet article, nous explorerons comment y parvenir à l'aide de la bibliothèque d'imagerie Python (PIL).

Approche :

  1. Définir la taille maximale :Déterminez la largeur et la hauteur maximales souhaitées pour vos vignettes.
  2. Calculez le redimensionnement Ratio : Calculez le rapport de mise à l'échelle minimum en trouvant le plus petit des rapports largeur maximale/largeur et hauteur maximale/hauteur.
  3. Calculer une nouvelle taille : Multipliez la taille d'origine par le rapport calculé pour obtenir la taille appropriée pour la vignette.

Méthode alternative utilisant Bibliothèque PIL :

PIL fournit la méthode Image.thumbnail() spécialement conçue à cet effet. Il prend la taille maximale comme argument et ajuste automatiquement la taille de l'image tout en conservant les proportions.

Voici un exemple tiré de la documentation PIL :

import os, sys
import Image

size = 128, 128

for infile in sys.argv[1:]:
    outfile = os.path.splitext(infile)[0] + ".thumbnail"
    if infile != outfile:
        try:
            im = Image.open(infile)
            im.thumbnail(size, Image.Resampling.LANCZOS)
            im.save(outfile, "JPEG")
        except IOError:
            print "cannot create thumbnail for '%s'" % infile
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal